如何获取谷歌地图的位置名称?

时间:2012-09-26 13:26:00

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

我正在建立一个网站,其中需要获取所有谷歌地图位置,从国家名称到最小的村庄。这是api中的任何地方吗?因为它无处可寻。

2 个答案:

答案 0 :(得分:2)

您需要解析响应才能获取该数据,例如,如果您想获取国家/地区,结果是您通过调用反向Gecoding获得的结果对象: https://developers.google.com/maps/documentation/javascript/geocoding#ReverseGeocoding

然后获得国家的功能将是:

       function getCountry(results) {
         var geocoderAddressComponent,addressComponentTypes,address;
         for (var i in results) {
           geocoderAddressComponent = results[i].address_components;
           for (var j in geocoderAddressComponent) {
             address = geocoderAddressComponent[j];
             addressComponentTypes = geocoderAddressComponent[j].types;
             for (var k in addressComponentTypes) {
               if (addressComponentTypes[k] == 'country') {
                 return address;
               }
             }
           }
         }
        return 'Unknown';
      }

答案 1 :(得分:1)

如果您需要基于地理坐标(纬度和经度)在Google Maps API v3地图上与地点相关联的“名称”,请使用reverse geocoder,它会返回该地点的多个级别的信息。

Example from the documentation

请注意,除了它不一定与Google Maps API v3磁贴相关联之外,geonames.org可能包含您需要的信息或限制较少的服务。