从Google表格中的纬度和经度中获取城市,州,国家/地区

Gab*_*man 0 geocoding latitude-longitude google-sheets reverse-geocoding

在Google表格中,我有一列包含经纬度坐标。列表来自A2:A1000。我还分别在B1,C1和D1中有城市,州和国家/地区的列。我可以运行一个公式或脚本来读取坐标并在其各自的列中提供城市,州和国家/地区吗?我不知道如何使用JavaScript,XML,JSON,序列化PHP等,因此,如果您的建议包括其中之一,请提供一些说明。提前致谢。

Gab*_*man 7

好吧,我有一个伪解决方案。进入Google Spreadsheets> Tools> Script Editor,然后将以下代码粘贴到空白项目中:

function reverse_geocode(lat,lng) {
  Utilities.sleep(1500);

 var response = Maps.newGeocoder().reverseGeocode(lat,lng);
 for (var i = 0; i < response.results.length; i++) {
   var result = response.results[i];
   Logger.log('%s: %s, %s', result.formatted_address, result.geometry.location.lat,
       result.geometry.location.lng);
   return result.formatted_address;
 }
}
Run Code Online (Sandbox Code Playgroud)

然后在电子表格中,使用以下公式:

=reverse_geocode(latitude_goes_here,longitude_goes_here)
Run Code Online (Sandbox Code Playgroud)

例如,如果我在A2中具有纬度,在B2中具有经度:

=reverse_geocode(A2,B2)
Run Code Online (Sandbox Code Playgroud)

这将提供完整的地址。我现在正试图找出如何从地址解析国家。