Właśnie zacząłem trochę grać z Lefletem / Geojsonem. Ale moje współrzędne nie są poprawnie renderowane i nie mam pojęcia, co się dzieje.
Kim są współrzędne: 52.23943, 4.97599
. Działają poprawnie z setView
funkcją.
var map = L.map('leaflet_map').setView([52.23943, 4.97599], 15);
Ale za pomocą geojasona są one, hmmm, „rzutowane” gdzieś na wschód od Somalii.
var geojsonFeature = {
"type": "Feature",
"properties": {
"name": "Coors Field",
"amenity": "Baseball Stadium",
"popupContent": "This is where the Rockies play!"
},
"geometry": {
"type": "Point",
"coordinates": [52.23943, 4.97599]
}
};
var myLayer = L.geoJson().addTo(map);
myLayer.addData(geojsonFeature).bindPopup("I am a gjson point.");
Czy ktoś wie, co się tutaj dzieje?
EDYTOWAĆ
Z czystej ciekawości zmieniłem współrzędne wokół [4.976143930893815,52.23925499011473]
i punkt pojawia się we właściwym miejscu. Znany błąd !?
Właśnie natknąłem się na ten problem. Dla każdego, kto doświadcza tego problemu i ma znaczną liczbę długich, długich par danych, możesz użyć następującego js:
Edycja: zgodnie z tą odpowiedzią SO , najwyraźniej istnieje również ta metoda:
L.GeoJSON.coordsToLatLng()
.Nie korzystałem z niego, ale wydaje się obiecujący.
źródło
[[60.672744462452,-135.02487602415],[60.673011537554,-135.02487602415]]
. Widziałem też moduł geodson-flip nodejs, ale go nie używałem.