打开街道地图长线消失在高缩放级别

问题描述:

我正在与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