我是新手,我试图通过点击谷歌地图地理编码器API并进行相反的操作,让Google Apps脚本通过一系列纬度和经度坐标吐出与该国相关的国家/地区。地理编码。
到目前为止,我的功能很差,看起来像这样:
function reverseGeocode() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Output");
var range = sheet.getRange("A1");
sheet.setActiveRange(range);
// Gets the address of a point in London.
var response = Maps.newGeocoder().reverseGeocode(51.5096, -0.15537);
for (var i = 0; i < response.results.length; i++) {
var result = response.results[i];
range.setValue(result.formatted_address);
}
};
此刻它只是将格式较长的地址吐出到单元格A1。知道我需要替换result.formatted_address以使其吐出国家吗?
我认为address_components.types的结果中有一个数组,其中有一个名为country的部分......但是因为我是新手,所以我不知道如何引用它!
答案 0 :(得分:1)
这是一个根据你提到的address_components来提取像“country”这样的地址组件的函数。
function extractAddressComponent(componentList, componentName) {
for(var i=0; i<componentList.length; i++) {
if(componentList[i].types.indexOf(componentName)!=-1) {
return componentList[i].long_name;
}
}
}
插入样本我使用:
var country = extractAddressComponent( result.address_components, "country");