从mapquest到Google Spreadsheet的地理坐标

时间:2013-10-16 00:29:33

标签: google-apps-script coordinates spreadsheet mapquest

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

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

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

代码(取自Bogdan Rau's blog并已修改)如下(仅适用于纬度):

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的代码给出了我错误的经度。

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

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

1 个答案:

答案 0 :(得分:0)

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

http://open.mapquestapi.com/geocoding/v1/address?key=KEY&location=Denver,CO&callback=showit