Используйте URL-адрес для ссылки на карту Google с маркером на ней

99

Я хочу сделать ссылку на карты Google в определенном месте с маркером в определенной точке.

Ссылку на локацию легко:

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

Но как мне бросить маркер и в этот момент? желательно с моим собственным текстом, но это просто бонус.

2017 - Google выпустил документацию по этому поводу, см. Новый принятый ответ: https://stackoverflow.com/a/44477650/359135


источник
Я могу легко сделать это с помощью API статической карты, но я не хочу его использовать.

Ответы:

94

В мае 2017 года Google запустил официальную документацию по URL-адресам Google Maps. URL-адреса Google Maps вводят универсальный кроссплатформенный синтаксис, который вы можете использовать в своих приложениях.

Взгляните на следующий документ:

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

Вы можете использовать URL-адреса в режимах поиска, маршрутов, карты и просмотра улиц.

Например, чтобы показать маркер в указанной позиции, вы можете использовать следующий URL:

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

Для получения более подробной информации прочтите вышеупомянутую документацию.

Вы также можете отправлять запросы функций для этого API в трекере проблем Google .

Надеюсь это поможет!

Xomen
источник
Спасибо, что нашли время, чтобы еще раз ответить на этот вопрос!
3
Если вы хотите добавить текст / метку / заголовок / имя для маркера, вы можете использовать параметр запроса, например q=36.26577,-92.54324+(My%20location). Однако это, похоже, больше не работает для веб-сайта Google Maps, но (по-прежнему) работает для их приложения для iOS.
Daniel Pietzsch
1
в моем случае это не показывает маркер. Как мне показать маркер?
Милан Махарджан
1
Спасибо вам! Лучший ответ!
Женевиос
2
Есть ли способ разместить несколько маркеров в разных местах?
Tsingis
82

Этот формат работает, но не кажется официальным.

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

Также вы можете взглянуть на это . У них есть несколько ответов, которые, кажется, указывают на то, что это новый метод:

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

Аллен Райс
источник
20
этот ответ устарел из-за новой ошибки / функции в картах Google, теперь он ищет ближайший адрес или что-то в этом роде. чтобы этого не произошло, добавьте перед координатами "loc:". maps.google.com/maps?q=loc:36.26577,-92.54324
питер
Есть ли способ сделать это с новыми картами Google Maps? Мне просто нужно показать на карте маркер, который не имеет особого значения (может быть, посреди леса).
TondaCZE
1
Приведенный выше пример @TondaCZE Питера работает для меня в новых картах Google
Аллен Райс,
2
Отредактировано для включения изменения, предложенного @peter
fzwo
maps.google.com/… Маркер по-прежнему не отображается. Маркер будет отображаться, если я перейду в спутниковый режим.
vee
39

Если вы хотите включить уровень масштабирования, вы можете использовать этот формат:

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

будет перенаправлять на эту ссылку (согласно 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! 8м2! 3d40.7028722! 4d-73.9868281

индолок
источник
можно ли вместо широты и долготы использовать только масштаб и название места?
Джордж Бирбилис 04
Кажется, это хорошо работает в 2019 году. Вы знаете, есть ли способ указать спутник в качестве типа карты?
Эрик
27

Этот формат URL работал как шарм :

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}

Пример для горы Эверест :

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

Предварительный просмотр

Полная ссылка здесь :

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

-- РЕДАКТИРОВАТЬ --

Видимо перестал работать параметр масштабирования, вот обновленный формат.

Формат

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

пример

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

PS
источник
Лучший ответ, imo, поскольку формат допускает множество настроек - в частности, я искал способ изменить тип карты на спутниковую. Благодарность!
kushy
есть ли способ сделать так, чтобы у маркера тоже было имя? Он описывает только координаты как название места
Christian Wolf Alves Hess
@EricDuminil Я добавил новый формат, в котором работает параметр масштабирования!
PS
1

Если вы работаете с Basic4Android и ищете простое решение проблемы, попробуйте это, он работает как с картами Google, так и с Openstreet, хотя OSM создает немного беспорядочный результат и благодарит [yndolok] за маркер 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"
Табо Макелепо
источник