Czy istnieje sposób na osadzenie / połączenie OpenStreetMap na swojej stronie (na przykład sposób działania interfejsu API Map Google )?
Muszę pokazać mapę na mojej stronie z kilkoma znacznikami i pozwolić na przeciąganie / powiększanie, być może wyznaczanie tras. Podejrzewam, że będzie do tego jakiś Javascript API, ale nie mogę go znaleźć.
Wyszukiwanie daje mi interfejs API umożliwiający dostęp do surowych danych mapy , ale wydaje się, że jest to bardziej przydatne do edycji mapy; poza tym praca z tym byłaby ciężkim zadaniem dla AJAX.
źródło
var target = L.latLng()
ciebie jasno określ współrzędne. Czy jest szansa na pokazanie, jak zaimplementować przypadek, w którym współrzędne kilku kropek są przechowywane w strukturze JSON? Dzięki!L.marker(target).addTo(map);
Just loop your structure i tworzysz tyle znaczników,L.latLng()
ile potrzebujesz, i przekazujesz je doL.marker()
.Spójrz na mapstraction . Może to zapewnić większą elastyczność w dostarczaniu map opartych na Google, osm, yahoo itp., Jednak Twój kod nie będzie musiał się zmieniać.
źródło
Chciałbym również przyjrzeć się narzędziom programistycznym CloudMade . Oferują pięknie stylizowaną podstawową usługę mapową OSM, wtyczkę OpenLayers, a nawet własny lekki, bardzo szybki klient mapowania JavaScript. Posiadają również własną usługę routingu, o której wspomniałeś jako możliwy wymóg. Mają świetną dokumentację i przykłady.
źródło
Możesz użyć OpenLayers (js API dla map).
Na ich stronie znajduje się przykład pokazujący, jak osadzać kafelki OSM.
Edycja: nowy link do przykładów OpenLayers
źródło
Jeśli chcesz po prostu osadzić mapę OSM na stronie internetowej, najłatwiejszym sposobem jest pobranie kodu iframe bezpośrednio ze strony OSM:
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.openstreetmap.org/export/embed.html?bbox=-62.04673002474011%2C16.95487694424327%2C-61.60521696321666%2C17.196751341562923&layer=mapnik" style="border: 1px solid black"></iframe> <br/><small><a href="https://www.openstreetmap.org/#map=12/17.0759/-61.8260">View Larger Map</a></small>
Jeśli chcesz zrobić coś bardziej skomplikowanego, zobacz wiki OSM „ Wdrażanie własnej śliskiej mapy ”.
źródło
Jest na to prosty sposób, jeśli boisz się Javascript ... Nadal się uczę. Open Street tworzy prostą wtyczkę Wordpress, którą możesz dostosować. Dodaj wtyczkę OSM Widget.
To będzie wypełnienie, dopóki nie wymyślę mojej konkluzji w języku Python Java, używając plików liniowych Coverter TIGER z biura Census Bureau.
źródło