У меня есть небольшое приложение для листовки, в котором приложение получает объекты geoJson с сервера и отображает его, особенно LineString. Парсер json, который я использую на стороне сервера, работает правильно. И сценарий клиентской стороны тоже был в порядке.Листовка меняет координаты при использовании geoJson
Но некоторые причины я хотел бы нарисовать стрелку на маршрутах, и я не могу понять, как это сделать при использовании 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()?