Как превратить URL Google Maps в URL, удобный для iframe

#php #google-maps

#php #google-карты

Вопрос:

Это пример URL-адреса:

https://www.google.co.uk/maps/place/Barnes & Noble Booksellers 86th & Lexington/@40.7747314,-73.9653734,15z/data=!4m5!1m2!2m1!1sBarnes & Noble, 5th Avenue, New York, NY, United States!3m1!1s0x0:0xdec8ade72ab827a7

Это явно не работает:

 <iframe
  width="600"
  height="450"
  frameborder="0" style="border:0"
  src="https://www.google.co.uk/maps/place/Barnes & Noble Booksellers 86th & Lexington/@40.7747314,-73.9653734,15z/data=!4m5!1m2!2m1!1sBarnes & Noble, 5th Avenue, New York, NY, United States!3m1!1s0x0:0xdec8ade72ab827a7"
</iframe> 
  

Как превратить пример URL в URL, который работает для iframe? Мне даже не нужно использовать iframe. Я просто хочу интегрировать Google Maps, используя URL-адреса, предоставленные в формате, указанном выше.

Я использую PHP, если это имеет значение.

Комментарии:

1. Достаточно ли перейти по URL-адресу, щелкнуть шестеренку, «Поделиться и внедрить карту» и получить iframe с URL-адресом на вкладке «Внедрить карту»?

2. @Ondkloss Вероятно, нет. 🙁

3. Итак, вы хотите автоматизировать этот процесс (вы делаете это много раз) и всегда получать ссылку в этом формате?

4. @Ondkloss Да, пользователи просто вводят URL-адрес в окне своего браузера. Я не могу заставить их ввести функцию встраивания.

5. Можно ли использовать Google Maps API (с соответствующими ограничениями ключа)?

Ответ №1:

Учитывая предоставленный вами формат URL, я бы попытался преобразовать его в URL-адрес Google Maps Embed API. Для этого требуется ключ API. У вас был следующий URL:

https://www.google.co.uk/maps/place /Barnes & Noble Booksellers 86-й & Лексингтон /@40.7747314,-73.9653734,15z/data=!4m5!1m2!2m1!1sBarnes & Noble, 5th Avenue, New York, NY, United States!3m1!1s0x0:0xdec8ade72ab827a7

Для преобразования его в URL-адрес для встраивания требуется только извлечь адресную часть URL-адреса, который у вас уже есть. Результатом будет:

https://www.google.com/maps/embed/v1/place?key=API_KEYamp;q =Barnes & Noble Booksellers 86th % 26 Lexington

Если бы вы в качестве альтернативы получили URL-адрес без указания определенного места, просто view, это могло бы выглядеть следующим образом:

https://www.google.co.uk/maps /@40.7777212,-73.9567045,15z

В этом примере вам нужно извлечь широту, долготу и уровень масштабирования (15z) и создать URL-адрес, подобный этому:

https://www.google.com/maps/embed/v1/view?key=API_KEYamp;center =40.7777212,-73.9567045amp;zoom =15

Чтение API есть еще два режима (поиск и направление), которые могут обрабатываться аналогичным образом, но с меньшей вероятностью будут использоваться в вашем случае.

Что касается извлечения, я бы, вероятно, использовал регулярное выражение или поиск и подстроку, в зависимости от того, насколько различны получаемые вами URL-адреса.

Ответ №2:

Вам просто нужен URL для встраивания

  1. Просто введите адрес Google / Карты Google

  2. Нажмите Поделиться (чуть ниже инструкций).

  3. Выберите Вставить карту. Скопируйте / вставьте URL-адрес в свой код.