打开街道地图长线消失在高缩放级别
问题描述:
我正在与osm的pathcreator工作。添加线条工作正常,但是当一条线条很长并放大时,线条会以较高的缩放级别消失。看起来,如果视口远离行的开始和/或结束点,就会出现这种情况。也许分割线可能会有帮助,但是这是最大尺寸?打开街道地图长线消失在高缩放级别
这里是缩小的一个代码示例,如果放大到7级行消失:
$(document).ready(function() {
var map = new OpenLayers.Map('map');
var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
map.addLayer(mapnik);
var path = new OpenLayers.Layer.Vector("path");
map.addLayer(path);
var pathStyle = {
strokeColor: "#0033ff",
strokeOpacity: 0.7,
strokeWidth: 5
};
var points = new Array(
new OpenLayers.Geometry.Point(-7856503.5146562, 880554.5664875),
new OpenLayers.Geometry.Point(8502243.5278938, 724011.5325875)
);
var line = new OpenLayers.Geometry.LineString(points);
var lineFeature = new OpenLayers.Feature.Vector(line, null, pathStyle);
path.addFeatures([lineFeature]);
map.zoomToExtent(path.getDataExtent());
});
我是很新的OSM所以也许我只是搞乱了东西..任何想法?在此先感谢
答
我正在玩弄萤火虫和通过svg元素。事实证明,osm使用svg折线来制作线条。该行的值超出15000的空间,这对于渲染器来说非常重要。
我在一个bug报告检查了这个问题: https://github.com/openlayers/openlayers/issues/617
我目前的解决方法是将线分割射进100KM撕成小块。这工作,但需要更多的计算。
如果有人被吸入这里是一个有用的数学网站: http://www.movable-type.co.uk/scripts/latlong.html