Могу ли я указать адреса вместо широты и долготы в Картах Google? - PullRequest
13 голосов
/ 20 июня 2010

Я создаю приложение, в котором пользователи предоставляют адреса для своих списков.Конечно, нецелесообразно просить простого пользователя указывать широту и долготу для каждого адреса, который он предоставляет!

Могу ли я вместо этого предоставлять адреса для API Карт Google?Если да, то как?

Спасибо.

Ответы [ 2 ]

27 голосов
/ 21 июня 2010

Да, конечно. Это можно сделать очень легко, используя Службы геокодирования , предоставляемые Google Maps JavaScript API. Рассмотрим следующий пример:

<!DOCTYPE html>
<html> 
<head> 
   <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
   <title>Google Maps Geocoding Demo 1</title> 
   <script src="http://maps.google.com/maps/api/js?sensor=false" 
           type="text/javascript"></script> 
</head> 
<body> 
   <div id="map" style="width: 400px; height: 300px;"></div> 

   <script type="text/javascript"> 

   var address = 'London, UK';

   var map = new google.maps.Map(document.getElementById('map'), { 
       mapTypeId: google.maps.MapTypeId.TERRAIN,
       zoom: 6
   });

   var geocoder = new google.maps.Geocoder();

   geocoder.geocode({
      'address': address
   }, 
   function(results, status) {
      if(status == google.maps.GeocoderStatus.OK) {
         new google.maps.Marker({
            position: results[0].geometry.location,
            map: map
         });
         map.setCenter(results[0].geometry.location);
      }
   });

   </script> 
</body> 
</html>

Скриншот:

Google Maps v3 Geocoding Demo

Вы можете просто заменить 'London, UK' из переменной address на любое местоположение, которое поддерживает геокодирование в Картах Google.

0 голосов
/ 08 мая 2017

Может быть уточнено, если вы предоставите адрес в формате: var address = '# Street, City';var address = '127 Ledbury Rd, Ноттинг Хилл, Лондон';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...