我们正在构建一个叙事地图,例如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的代码给出了我错误的经度。
现在,该函数返回一个空单元格。
任何帮助将不胜感激!我不能够感谢你!
答案 0 :(得分:0)
如果您要进行地理编码的地址不在OSM数据中,那么您将获得空响应。但大多数有效地址不应返回空单元格。
http://open.mapquestapi.com/geocoding/v1/address?key=KEY&location=Denver,CO&callback=showit