Преобразовать имя и адрес места в URL-адрес Google Maps и iFrame

Фон

Я работаю в WordPress и хочу отображать встроенные Карты Google iframes. Я добавил пользовательский метабокс в бэкэнд для хранения текстовой строки.

В настоящее время

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

Цель

Я бы предпочел просто сохранить адрес и преобразовать его PHP в iframe. Есть ли способ в API Карт Google получить iframe, просто отправив адрес и, возможно, название места?

Ответ 1

Обновлено по состоянию на январь 2016 года

Google позволяет использовать URL-адрес, который использует адрес напрямую и работает в iframe. Вам просто нужно сообщить Google (как указатель кодирования указал) в вызове, в который встроен вывод.

Вы звоните:

https://www.google.com/maps

И вы даете два параметра GET:

q=[ADDRESS]
output=embed

Идентификатор iframe будет выглядеть так в HTML:

<iframe src="https://www.google.com/maps?q=[ADDRESS]&output=embed"></iframe>

Пример:

<iframe src="https://www.google.com/maps?q=Randall Miller %26 Associates 300 E Broadway, Logansport, IN 46947&output=embed"></iframe>

Итак, используя PHP, который был частью моего первоначального вопроса, я бы поставил:

<iframe src="https://www.google.com/maps?q=<?php echo $name . ' ' . $address; ?>&output=embed"></iframe>

Это работает с 14 июля 2016 года.

Ответ 2

Возможно, это немного поздно, но на всякий случай кому-то это нужно

чтобы получить местоположение в новом формировании api, выполните следующие действия.

  • Посетите: https://www.google.com/maps/ и найдите нужную область для отображения на вашем сайте.
  • Когда область отображается на карте, откройте боковой ящик, если она существует, или щелкните значок шестерни (cog) в правом нижнем углу экрана, если он существует.
  • Нажмите кнопку "Поделиться".
  • Нажмите кнопку "Вставить карту".
  • Выберите свои параметры и скопируйте код iframe, указанный вам на этом экране.

Пример:

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d852.8754667521503!2d29.96481543232134!3d31.23452741247449!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0000000000000000%3A0x2eb3093918d73855!2sHeba!5e0!3m2!1sen!2seg!4v1446570384113" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>

введите описание изображения здесь

Ответ 3

В вашем ответе вы сказали, что исправили его, но вам пришлось отменить их. Проблема состояла в том, что не удалось избежать специальных символов в URL-адресе. Амперсанд (&) является специальным символом в адресной строке, который сообщает серверу, что вы передаете ему переменную, поэтому по существу все после игнорирования амперсанда.

Исправление прост, измените & на % 26.

например.

https://www.google.com/maps/preview#!q=Randall Miller %26 Associates, 300 E Broadway, Logansport, IN 46947

Лично я избегаю всего остального, например, пробелы с %20 и запятыми с % 2C.

например.

https://www.google.com/maps/preview#!q=Randall%20Miller%20%26%20Associates%2C%20300%20E%20Broadway%2C%20Logansport%2C%20IN%2046947

Для получения списка эвакуационных кодов посетите эту страницу.

Я знаю, что escape-коды затрудняют чтение, но предотвращают любые ошибки/ошибки/ошибки.

Ответ 4

Решения не работали для меня (jan 2016). Вот что я использовал в моем iframe, чтобы получить его:

src='https://maps.google.com/maps?&q=your_address_formated_as_you_want&output‌​=embed'

Полный код iframe:

<iframe src='https://maps.google.com/maps?&q=your_address_formated_as_you_want&output‌​=embed'></iframe>