0

我们正在建立一个这样的叙事地图用于学术和因果目的。数据(位置、位置类型、时间和坐标)存储在 Google 电子表格中。我们的目标是让用户填写表格,填充数据集,而不是直接将数据输入其中。这部分工作正常。

我目前最大的问题是自动对表单发送的位置进行地理编码。

我不是开发人员,我花了几天时间来解决这个问题,但无济于事。

代码(取自Bogdan Rau 的博客并修改)如下(仅适用于纬度):

function LatRange2(range) {
  var n = range.length;
  var m = range[0].length;
  var LLArray =new Array(n);
    for (i=0; i<n; i++){
    var fullAddress =" ";
    for (var j = 0; j < m; j++) {
      fullAddress = fullAddress + " " + range[i][j];
    }

      var Url = 'http://open.mapquestapi.com/geocoding/v1/address?key=HIDDEN_KEY&inFormat=kvp&outFormat=json&location=' + fullAddress + '&thumbMaps=false';
      var Results = UrlFetchApp.fetch(Url);
      var lat = Results.lat;

      }
    LLArray[i] = new Array(1);
    LLArray[i][0] = lat;
  }
  return LLArray;
}

因为我尝试了太多的地理编码(尝试了几次之后,我被阻止了一天),我从 Google Geocoder 切换到了 MapQuest API。此外,Rau 的代码给了我错误的经度。

现在,该函数返回一个空单元格。

任何帮助将不胜感激!我不能感谢你!

4

1 回答 1

0

如果您正在地理编码的地址不在 OSM 数据中,那么您将得到一个空响应。但大多数有效地址不应返回空单元格。

http://open.mapquestapi.com/geocoding/v1/address?key=KEY&location=Denver,CO&callback=showit
于 2013-11-19T17:40:41.080 回答