繁体   English   中英

使用geoJson时传单交换坐标

[英]Leaflet swap the coordinates when use geoJson

我有一个小 Leaflet 应用程序,该应用程序从服务器获取 geoJson 对象并显示它,特别是LineString 我在服务器端使用的 JSON 解析器工作正常。 客户端脚本也可以。

但是出于某些原因,我想在路线上绘制箭头,并且在使用L.geoJson()时不知道该怎么做。

带有L.geoJson()代码:

   getJsonFrom(routeQueryURL, params, function(data) {
     var a = L.geoJson(data, {
       onEachFeature: bindRouteDirection,
     }).addTo(map);
   });

因为我不想在服务器端改变任何东西,所以我尝试了这个:

getJsonFrom(routeQueryURL, param, function(data) {
    $.each(data, function(index, feature) {
      var polyline = new L.Polyline(feature.geometry.coordinates, {
        color: feature.properties.color,
        opacity: 0.8
      }).addTo(routeMapLayer);

      var decorator = L.polylineDecorator(polyline, {
        patterns: [{
          offset: 25,
          repeat: 50,
          symbol: L.Symbol.arrowHead({
            pixelSize: 15,
            pathOptions: {
              stroke: true,
              color: feature.properties.color,
              fillOpacity: 0.8,
              polygon: false,
              weight: 3
            }
          })
        }]
      }).addTo(routeMapLayer);

      map.addLayer(routeMapLayer);
    });
  });

所以我从 geoJson 对象和一些其他数据访问坐标数组,并直接在地图上绘制折线。问题是它把我的路线放在中东中部而不是匈牙利,所以它实际上交换了坐标. 为什么L.Polyline处理不同形式的L.geoJson()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM