Форматы URL Google Maps: разбор всех типов ссылок
Коротко
Тип ссылки определяет часть после google.com/maps/: в /place/ есть название и координаты, в /search/ — поисковый запрос, в /@ — только координаты, в /dir/ — маршрут. Короткая ссылка maps.app.goo.gl скрывает одну из них. Все они конвертируются в Apple Maps ниже — кроме ссылок, где есть только cid, ссылок с place_id и целых списков.
8 типов ссылок
Найдите шаблон своей ссылки. Метка показывает, что с ней сделает «Быстрая конвертация».
-
Ссылка на место ✓ Конвертируется
google.com/maps/place/
Eiffel+Tower/@48.8584,2.2945,17z- название места
- координаты
- масштаб
Ссылка из адресной строки открытого места. Переносятся и название, и координаты.
-
Короткая ссылка ✓ Сначала раскрывается
maps.app.goo.gl/Ab3xYz
- короткий код — скрывает полную ссылку
Такую ссылку даёт кнопка «Поделиться» в Google Maps; то же касается ссылок goo.gl/maps. «Быстрая конвертация» сначала проходит по перенаправлению.
-
Ссылка на поиск ✓ Ищет по названию
google.com/maps/search/
Louvre+Museum/@48.8606,2.3376,15z- поисковый запрос
- координаты
Это поиск, а не одно место: слова становятся запросом в Apple Maps. Ссылки с
q=илиapi=1&query=работают так же. -
Только координаты ✓ Конвертируется
google.com/maps/
@52.520008,13.404954,15z- координаты
- масштаб
Названия нет, только точка на карте. Apple Maps откроется в том же месте.
-
Ссылка на маршрут ✓ Конечная точка
google.com/maps/dir/
Louvre/Notre-Dame/Eiffel+Tower- начало и остановки
- конечная точка
Маршрут. Переносится только конечная точка, а не сам маршрут.
-
Ссылка с cid Нужно название
google.com/maps?cid=
10281119596374313554- числовой ID места — без названия
В числе нет названия, поэтому ссылка только с cid не сработает. Она работает, если в ссылке есть и название места.
-
Ссылка с ID места ✗ Не напрямую
google.com/maps/place/?q=place_id:
ChIJN1t_tDeuEmsRUsoyG83frY4- ID места в Google
Внутри нет ни названия, ни координат. Поделитесь местом из Google Maps и конвертируйте полученную ссылку.
-
Ссылка на список или My Maps Конвертер файлов
google.com/maps/placelists/list/
Qm9vZ2xlTGlzdA- ID списка
Целый список, а не одно место. Экспортируйте его и воспользуйтесь конвертером файлов или приложением.
Подробности для разработчиков
Ссылка Apple Maps, которую создаёт «Быстрая конвертация»
maps.apple.com/?q=Eiffel%20Tower&ll=48.8584,2.2945
- название
- координаты
Классическая форма Apple — maps.apple.com. Если в ссылке Google нет названия, в ней будет только ll=lat,lng&z=17; если нет координат — только q=Name. Она открывает приложение Apple Maps на iPhone, iPad и Mac, а на других устройствах — веб-карту. Все параметры описаны в руководстве по URL-схеме Apple Maps.
Регулярные выражения для координат, названий и остановок
Сначала декодируйте URL (decodeURIComponent), затем:
// @lat,lng (place, search, coords)
/@(-?\d+\.?\d*),(-?\d+\.?\d*)/
// in data=: !3d = lat, !4d = lng
/!3d(-?\d+\.?\d*)/
/!4d(-?\d+\.?\d*)/
// name or search words (+ = space)
/\/maps\/(?:place|search)\/([^/@]+)/
// q=, query= and daddr= parameters
new URL(link).searchParams.get('q')
Маршруты: разбейте путь после /maps/dir/ по /, отбросьте сегменты, которые начинаются с @ или содержат =, и возьмите последний — это пункт назначения.
Короткие и обёрнутые ссылки
Ссылка maps.app.goo.gl или goo.gl/maps — это перенаправление. Запросите её, пройдите по перенаправлению до полного URL google.com/maps и разбирайте уже его.
Ссылки, скопированные из Facebook, Instagram или Google, часто прячут настоящую ссылку в параметре перенаправления (u=, q= или url=). Декодируйте её перед разбором. «Быстрая конвертация» делает и то и другое за вас.
Вопросы и ответы
Какой формат URL надёжнее всего конвертируется?
Ссылки на места (/maps/place/Name/@lat,lng): в них есть и название места, и его координаты. Ссылки только с координатами дают точку, но без названия. Короткие ссылки работают после раскрытия, ссылкам с cid нужно ещё и название места, а ссылки с place_id напрямую не конвертируются.
Что такое параметр cid в URL Google Maps?
Числовой идентификатор одной карточки места в Google Maps, например google.com/maps?cid=10281119596374313554. В нём нет ни названия, ни координат, поэтому «Быстрая конвертация» конвертирует ссылку с cid, только если в ней есть и название места (например, ?q=Name&cid=…).
Как извлечь координаты из URL Google Maps?
Найдите символ @ и два числа после него через запятую: это широта и долгота. В google.com/maps/@48.8584,2.2945,17z координаты — 48.8584, 2.2945, а 17z — масштаб. В коротких ссылках они скрыты, пока ссылку не раскроют, — конвертер сделает это за вас.