我是一个非常新手的程序员,所以请温柔。
我要做的是根据从谷歌地图导出的坐标从谷歌地图/地点中提取一个位置 formatted_phone_number 和网站。从谷歌地图导出的 KML 文件只包含位置的名称和纬度和经度。
我指的是Google Places API - Place Details。这是带有我想要获取电话号码和网站的餐厅坐标的表格。然后,此列表将作为 csv 文件导入 Insightly。
我发现这个谷歌表格脚本可以根据地理编码获取地址,它有效:
var geocoder = Maps.newGeocoder(),
cache = CacheService.getScriptCache();
function reverseGeocodeLatLngTest() {
Logger.log(reverseGeocodeLatLng(51.70055389, 5.318333149));
}
function reverseGeocodeLatLng(latitude, longitude) {
// var latitude = 51.69048,
// longitude = 5.29362,
var cacheKey = latitude + "+" + longitude,
cached = cache.get(cacheKey);
if(cached !== null) {
return JSON.parse(cached);
}
Utilities.sleep(2000);
var result = geocoder.reverseGeocode(latitude, longitude),
//First response is the most specific
response = result.results[0];
if(response === undefined) {
return "??";
}
function g(fieldName) {
for (var i = 0; i < response.address_components.length; i++) {
if(response.address_components[i].types.indexOf(fieldName) != -1) {
return response.address_components[i];
}
}
return {"long_name": "??"};
}
rValue = [[g("route").long_name, g("street_number").long_name, g("postal_code").long_name, g("locality").long_name, g('country').long_name, g('website').long_name]];
cache.put(cacheKey, JSON.stringify(rValue));
return rValue;
}
我认为脚本应该与此接近,以获取每个位置的位置详细信息。
谢谢你的帮助。