Leaflet 在使用 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 对象和一些其他数据访问坐标数组,并将折线直接绘制到 map.The 问题是它把我的路线放在中东而不是匈牙利,所以它实际上是交换坐标。为什么 L.Polyline
处理不同的形式 L.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 对象和一些其他数据访问坐标数组,并将折线直接绘制到 map.The 问题是它把我的路线放在中东而不是匈牙利,所以它实际上是交换坐标。为什么 L.Polyline
处理不同的形式 L.geoJson()
?