如何根据Google表格中某个地点的名称和城市检索地址?

时间:2016-08-25 00:53:32

标签: google-maps-api-3 google-apps-script google-sheets google-places-api google-sheets-api

我想知道如何根据Google表格中某个地点的名称和城市检索地址?我已阅读this question的答案并按照说明操作,但该帖子中答案的代码为我生成了以下错误:

  

TypeError:无法从undefined中读取属性“formatted_address”。   (第8行,文件“代码”)

转到上面的链接问题会显示答案中的代码,但这是简短版本:

获取 Google Places API key后,在Google表格的任意单元格中输入用户定义的公式,如下所示:

=mapAddress(B1, B2, B3)

在文本编辑器中,复制并粘贴:

function mapAddress(place, city, state) {
  var API_KEY = 'yourapikeyhere';
  var url = 'https://maps.googleapis.com/maps/api/place/textsearch/json?query=' +
    place + ' ' + city + ' ' + state + '&key=' + API_KEY;
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  obj = JSON.parse(json);
  addr = obj.results[0].formatted_address;
  return addr;
}

我没有足够高的分数来发表对这个问题的评论,这就是我必须提出一个新问题的原因。是否有Google表格模板或加载项可实现此目的?

1 个答案:

答案 0 :(得分:0)

您需要在Developers Console的Google Apps脚本项目中启用 Google Places API网络服务,请按照以下步骤操作:

  1. 脚本编辑器中,点击菜单资源>开发人员控制台项目
  2. 点击名称类似的链接: YourProjectName - project-id-sveeczngccmxxerwwzx
  3. 在左侧菜单中点击图书馆,然后在 Google Maps API 下搜索选项 Google Places API网络服务
  4. 在页面顶部点击启用并再次运行脚本。