【问题标题】:Can I provide addresses instead of latitude and longitude to Google Maps?我可以向 Google 地图提供地址而不是纬度和经度吗?
【发布时间】:2011-03-05 22:03:56
【问题描述】:

我正在构建一个应用程序,用户可以在其中提供其列表的地址。要求一个简单的用户提供他提供的每个地址的纬度和经度当然是不切实际的!

我可以向 Google Maps API 提供地址吗?如果有,怎么做?

谢谢。

【问题讨论】:

  • @Ben:感谢您重新标记,但我认为 google-maps-api-v3 标记在这里可能很重要,以区分 v2 API。 v2 API 仍然很受欢迎。
  • 哦,对不起。它似乎有大约五个大致等效的标签,我想我不小心删除了一些信息。感谢您的提醒!

标签: google-maps geocoding google-maps-api-3


【解决方案1】:

当然可以。使用 Google Maps JavaScript API 提供的 Geocoding Services 可以非常轻松地完成此操作。考虑以下示例:

<!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>

截图:

您可以简单地将 'London, UK'address 变量替换为任何支持 Google 地图中地理编码的位置。

【讨论】:

  • 如何细化,我经常在地址中提供街道名称,它仍然会放置一个定位到城市的图钉。
  • Geocoding API 免费计划配额每天只允许一个请求。此解决方案需要付款(每 1000 个请求 5 美元):developers.google.com/maps/documentation/geocoding/…
【解决方案2】:

如果您提供的地址格式为: var address = '# Street, City'; var address = '127 Ledbury Rd, Notting Hill, London';

【讨论】:

    猜你喜欢
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多