Użyj adresu URL, aby połączyć się z mapą Google ze znacznikiem

98

Chcę utworzyć łącze do map Google w określonej lokalizacji ze znacznikiem w określonym punkcie.

Link do lokalizacji jest łatwy:

http://maps.google.com/?ll=XX.XXXX,XX.XXXX

Ale jak w tym miejscu również upuścić znacznik? najlepiej z odrobiną własnego tekstu, ale to tylko bonus.

2017 - Google wydało dokumentację dotyczącą tej nowej zaakceptowanej odpowiedzi: https://stackoverflow.com/a/44477650/359135


źródło
mogę to łatwo zrobić za pomocą statycznego interfejsu API mapy, ale nie chcę tego używać.

Odpowiedzi:

93

W maju 2017 Google uruchomił oficjalną dokumentację adresów URL Map Google. Adresy URL Map Google wprowadzają uniwersalną składnię międzyplatformową, której możesz używać w swoich aplikacjach.

Spójrz na następujący dokument:

https://developers.google.com/maps/documentation/urls/guide

Możesz używać adresów URL w trybach wyszukiwania, wskazówek dojazdu, mapy i widoku ulicy.

Na przykład, aby pokazać znacznik w określonej pozycji, możesz użyć następującego adresu URL:

https://www.google.com/maps/search/?api=1&query=36.26577,-92.54324

Więcej informacji można znaleźć w wyżej wymienionej dokumentacji.

Możesz również zgłaszać żądania funkcji dla tego interfejsu API w narzędziu do śledzenia problemów Google .

Mam nadzieję że to pomoże!

xomena
źródło
Dziękujemy za poświęcenie czasu na ponowne udzielenie aktualnej odpowiedzi!
3
Jeśli chcesz dodać tekst / etykietę / tytuł / nazwę dla znacznika, możesz użyć parametru zapytania, takiego jak q=36.26577,-92.54324+(My%20location). Wydaje się jednak, że to już nie działa w witrynie Google Maps, ale (nadal) działa w ich aplikacji na iOS.
Daniel Pietzsch,
1
w moim przypadku to nie pokazuje znacznika. Jak mogę pokazać marker?
Milan Maharjan,
1
Dzięki Ci! Najlepsza odpowiedź!
Genevios
1
Czy istnieje sposób na umieszczenie wielu znaczników w różnych lokalizacjach?
Tsingis
82

Ten format działa, ale nie wydaje się, aby był to oficjalny sposób

http://maps.google.com/maps?q=loc:36.26577,-92.54324

Możesz również rzucić okiem na to . Mają kilka odpowiedzi i wydają się wskazywać, że jest to nowa metoda:

http://maps.google.com/maps?&z=10&q=36.26577+-92.54324&ll=36.26577+-92.54324

Allen Rice
źródło
20
ta odpowiedź jest nieaktualna z powodu nowego błędu / funkcji w mapach google, teraz szuka najbliższego adresu lub czegoś podobnego. aby temu zapobiec, należy poprzedzić współrzędne „loc:”. maps.google.com/maps?q=loc:36.26577,-92.54324
peter
Czy jest jakiś sposób, jak to zrobić w nowych Mapach Google? Po prostu muszę pokazać na mapie znacznik, który nie ma żadnego konkretnego znaczenia (może znajdować się w środku lasu).
TondaCZE
1
Przykład @TondaCZE petera powyżej działa dla mnie w nowych mapach Google
Allen Rice
2
Zredagowane, aby uwzględnić zmianę sugerowaną przez @peter
fzwo,
maps.google.com/… Znacznik nadal nie jest wyświetlany. Znacznik pokaże się, jeśli przejdę na tryb satelitarny.
vee
39

Jeśli chcesz uwzględnić poziom powiększenia, możesz użyć tego formatu:

https://www.google.com/maps/place/40.7028722+-73.9868281/@40.7028722,-73.9868281,15z

przekieruje do tego linku (za 2017.09.21)

https://www.google.com/maps/place/40%C2%B042'10.3%22N+73%C2%B059'12.6%22W/@40.7028722,-73.9868281,15z/data=!4m5!3m4!1s0x0 : 0x0! 8m2! 3d40.7028722! 4d-73.9868281

yndolok
źródło
czy można mieć tylko poziom powiększenia i nazwę miejsca zamiast szerokości / długości?
George Birbilis,
Wydaje się, że działa to dobrze w 2019 roku. Czy wiesz, czy istnieje sposób na określenie satelity jako typu mapy?
Eric Duminil
26

Ten format adresu URL działał jak urok :

http://maps.google.com/maps?&z={INSERT_MAP_ZOOM}&mrt={INSERT_TYPE_OF_SEARCH}&t={INSERT_MAP_TYPE}&q={INSERT_MAP_LAT_COORDINATES}+{INSERT_MAP_LONG_COORDINATES}

Przykład dla Mount Everest :

http://maps.google.com/maps?&z=15&mrt=yp&t=k&q=27.9879012+86.9253141

Zapowiedź

Pełne odniesienie tutaj :

https://moz.com/ugc/everything-you-never-wanted-to-know-about-google-maps-parameters

-- EDYTOWAĆ --

Najwyraźniej parametr powiększenia przestał działać, oto zaktualizowany format.

Format

https://www.google.com/maps/@?api=1&map_action=map&basemap=satellite&center={LAT},{LONG}&zoom={ZOOM}

Przykład

https://www.google.com/maps/@?api=1&map_action=map&basemap=satellite¢er=27.9879012,86.9253141&zoom=14

PS
źródło
Najlepsza odpowiedź, imo, ponieważ format pozwala na wiele dostosowań - szukałem w szczególności sposobu na zmianę typu mapy na satelitarną. Dzięki!
kushy
czy jest sposób, aby marker miał również nazwę? Opisuje tylko współrzędne jako nazwę miejsca
Christian Wolf Alves Hess
@EricDuminil Dodałem nowy format, w którym działa parametr zoom!
PS
1

Jeśli pracujesz z Basic4Android i szukasz łatwego rozwiązania problemu, spróbuj tego, działa to zarówno na mapach Google, jak i na Openstreet, mimo że OSM tworzy trochę niechlujny wynik i dziękuję [yndolok] dla znacznika Google

GooglemLoc="https://www.google.com/maps/place/"&[Latitude]&"+"&[Longitude]&"/@"&[Latitude]&","&[Longitude]&",15z" 

GooglemRute="https://www.google.co.ls/maps/dir/"&[FrmLatt]&","&[FrmLong]&"/"&[ToLatt]&","&[FrmLong]&"/@"&[ScreenX]&","&[ScreenY]&",14z/data=!3m1!4b1!4m2!4m1!3e0?hl=en"  'route ?hl=en

OpenStreetLoc="https://www.openstreetmap.org/#map=16/"&[Latitude]&"/"&[Longitude]&"&layers=N"

OpenStreetRute="https://www.openstreetmap.org/directions?engine=osrm_car&route="&[FrmLatt]&"%2C"&[FrmLong]&"%3B"&[ToLatt]&"%2C"&[ToLong]&"#Map=15/"&[ScreenX]&"/"&[Screeny]&"&layers=N"
Thabo Maqelepo
źródło