Как конвертировать адрес в ссылку Google Maps (НЕ КАРТА)
Посмотрев (Googling) в Интернете какое-то время, я не могу найти ничего, что получит такой адрес, как:
1200 Pennsylvania Ave SE, Вашингтон, округ Колумбия, 20003
и преобразует его в интерактивную ссылку:
http://maps.google.com/maps?f=q&source=s_q&hl=en&q=1200+Pennsylvania+Ave+SE,+Washington,+District+of+Columbia,+20003&sll=37.0625,-95. 677068 & sspn = 44.118686,114.169922 & т.е. = UTF - 8 & кд = 1 & геокод = FT5MUQIdIDlp-W & сплит = 0 & LL = 38,882147, -76 0,99017 & шп = 0.01064,0.027874 & г = 16 & iwloc = А
JQuery или PHP предпочтены или просто любая полезная информация об этом.
Ответы
Ответ 1
Как насчет этого?
https://maps.google.com/?q=1200 Пенсильвания Авеню С.Е., Вашингтон, округ Колумбия, 20003
https://maps.google.com/?q=term
Если у вас лат-лонг, используйте ниже URL
https://maps.google.com/?ll=latitude,longitude
Пример: maps.google.com/?ll=38.882147,-76.99017
ОБНОВИТЬ
По состоянию на 2017 год у Google появился официальный способ создания кроссплатформенных URL-адресов Карт Google:
https://developers.google.com/maps/documentation/urls/guide
Вы можете использовать ссылки, такие как
https://www.google.com/maps/search/?api=1&query=1200%20Pennsylvania%20Ave%20SE%2C%20Washington%2C%20District%20of%20Columbia%2C%2020003
Ответ 2
Я знаю, что я очень опаздываю на игру, но думал, что буду способствовать ради потомства.
Я написал короткую функцию jQuery, которая автоматически превратит теги <address>
в ссылки на карты Google.
Смотрите демо здесь
$(document).ready(function () {
//Convert address tags to google map links - Michael Jasper 2012
$('address').each(function () {
var link = "<a href='http://maps.google.com/maps?q=" + encodeURIComponent( $(this).text() ) + "' target='_blank'>" + $(this).text() + "</a>";
$(this).html(link);
});
});
Бонус:
Я также столкнулся с ситуацией, которая вызвала создание встроенных карт из ссылок, и хотя я бы поделился с будущими путешественниками:
Просмотр полной демонстрации
$(document).ready(function(){
$("address").each(function(){
var embed ="<iframe width='425' height='350' frameborder='0' scrolling='no' marginheight='0' marginwidth='0' src='https://maps.google.com/maps?&q="+ encodeURIComponent( $(this).text() ) +"&output=embed'></iframe>";
$(this).html(embed);
});
});
Ответ 3
Фев, 2016:
Мне нужно было сделать это на основе введенных пользователем значений базы данных и без генератора lat/long. Google действительно любит лат/долго в эти дни. Вот что я узнал:
1
Начало ссылки выглядит следующим образом:
https://www.google.com/maps/place/
2
Затем вы указываете свой адрес:
- Используйте + вместо любого пространства.
- Поместите запятую спереди и сзади города.
- Включить почтовый/почтовый индекс и область/штат.
- Заменить любой # ничем.
- Заменить любые ++ или ++++ с помощью одного +
3
Поместите адрес после места /
4
Затем поставьте косую черту в конце.
ПРИМЕЧАНИЕ. Слэш в конце был важен. После того, как пользователь нажимает на ссылку, Google идет вперед и добавляет больше URL-адреса, и они делают это после этой косой черты.
Рабочий пример для этого вопроса:
https://www.google.ca/maps/place/1200+Pennsylvania+Ave+SE,+Washington,+DC+20003/
Надеюсь, это поможет.
Ответ 4
Как насчет этого:
http://support.google.com/maps/bin/answer.py?hl=en&answer=72644
Ответ 5
Это то, что я нашел в одной из статей Google Maps:
- Откройте Карты Google.
- Убедитесь, что на карте отображается изображение карты или изображения улиц, которое вы хотите вставить.
- В левом верхнем углу нажмите главное меню ☰.
- Нажмите Поделиться или вставлять карту.
- В верхней части появившегося окна выберите вкладку Вставить карту.
- Выберите нужный размер, затем скопируйте код и вставьте его в исходный код своего веб-сайта или блога.
Примечание. Если вы используете Карты в Lite режиме, вы не сможете вставлять карта. Имейте в виду, что информация о дорожном движении и некоторые другие данные Карты могут быть недоступны во встроенной карте.
![введите описание изображения здесь]()
Ответ 6
В http://www.labnol.org/internet/tools/short-urls-for-google-maps/6604/ они показывают короткий URL-адрес, который работает довольно хорошо
URL-адреса Google Maps довольно громоздки, особенно при отправке через IM, твит или электронную почту. MapOf.it предоставляет вам быстрый способ связи с Google Maps, просто указав адрес местоположения в качестве параметра поиска.
http://mapof.it/
Я использовал его для нескольких приложений, которые я разработал, и он работал как шарм.
Ответ 7
Лучше всего использовать эту строку:
var mapUrl = "http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=16900+North+Bay+Road,+Sunny+Isles+Beach,+FL+33160&aq=0&sll=37.0625,-95.677068&sspn=61.282355,146.513672&ie=UTF8&hq=&hnear=16900+North+Bay+Road,+Sunny+Isles+Beach,+FL+33160&spn=0.01628,0.025663&z=14&iwloc=A&output=embed"
Не забудьте заменить первый и второй адреса, если это необходимо.
Вы можете посмотреть образец работы
Ответ 8
http://maps.google.com/maps?q=<?php echo urlencode($address); ?>
кодировка ur конвертирует и добавляет все дополнительные элементы, такие как пробелы и все. так что вы можете легко получить плоский текстовый код из db и использовать его без заботы о специальных символах, которые нужно добавить
Ответ 9
У меня была аналогичная проблема, когда мне нужно было выполнить это для каждого адреса на сайте (каждый из которых был упакован в тег адреса). Этот бит jQuery работал у меня. Он будет захватывать каждый тэг <address>
и переносить его в ссылку google maps с адресом, содержащим тег!
$("address").each(function(){
var address = $(this).text().replace(/\,/g, '');
var url = address.replace(/\ /g, '%20');
$(this).wrap('<a href="http://maps.google.com/maps?q=' + url +'"></a>');
});
Рабочий пример → https://jsfiddle.net/f3kx6mzz/1/
Ответ 10
Заимствуя решения Michael Jasper и Jon Hendershot, я предлагаю следующее:
$('address').each(function() {
var text = $(this).text();
var q = $.trim(text).replace(/\r?\n/, ',').replace(/\s+/g, ' ');
var link = '<a href="http://maps.google.com/maps?q=' + encodeURIComponent(q) + '" target="_blank"></a>';
return $(this).wrapInner(link);
});
Это решение предлагает следующие преимущества перед ранее предложенными решениями:
- Он не будет удалять теги HTML (например, теги
<br>
) в <address>
, поэтому форматирование сохраняется
- Он правильно кодирует URL
- Он выдает лишние пробелы, так что сгенерированный URL-адрес короче и чище и читается человеком после кодирования
- Он создает допустимую разметку (решение Mr.Hendershot создает
<a><address></address></a>
, что является недопустимым, поскольку элементы встроенного уровня, такие как <address>
, недопустимы внутри встроенных элементов, таких как <a>
.
Caveat. Если тэг <address>
содержит элементы уровня блока, такие как <p>
или <div>
, тогда этот код JavaScript будет отображаться с недопустимой разметкой (поскольку тег <a>
будет содержать эти элементы уровня блока). Но если вы просто делаете такие вещи:
<address>
The White House
<br>
1600 Pennsylvania Ave NW
<br>
Washington, D.C. 20500
</address>
Тогда все будет хорошо.
Ответ 11
Если у вас есть широта и долгота, вы можете использовать любую часть или весь приведенный ниже URL
https://www.google.com/maps/@LATITUDE,LONGITUDE,ZOOMNUMBERz?hl=LANGUAGE
Например: https://www.google.com/maps/@31.839472,54.361167,18z?hl=ru.
Ответ 12
Кроме того, любой, кто хочет вручную указать URL-адрес: http://code.google.com/apis/maps/documentation/webservices/index.html#BuildingURLs
Вы можете использовать это для создания определенных правил, соответствующих стандартам GM.
Ответ 13
Метод С# Replace обычно работает для меня:
foo = "http://maps.google.com/?q=" + address.Text.Replace(" ","+");
Ответ 14
Я только что нашел это и хотел бы поделиться.
- найдите свой адрес на maps.google.com
- щелкните значок шестеренки в правом нижнем углу.
- нажмите "общая или встроенная карта"
- установите флажок short url и вставьте результат в href..
Ответ 15
С помощью этого инструмента карты вы можете ввести адрес, нажать кнопку "Найти", увеличить масштаб, сделать заметку для себя или других читателей и получить короткую ссылку на свою карту, которую вы можете отправить по электронной почте или текстовому сообщению кому-то другому.
Вот карта, которую я сделал, используя адрес, который вы указали:
http://www.sooeet.com/ses06468
Инструмент "Карта" находится здесь:
http://www.sooeet.com/maps/place-marker-map.php
Он делает все, что вам нужно, и вы также получаете широту и долготу.
Ответ 16
используйте www.linkonmap.com, чтобы быстро получить исчерпывающую ссылку на любое местоположение в мире. Ваше местоположение с широтой и долготой: http://LinkOnMap.com/2.html?ll=38.8823887,-76.99021119999998