GoogleAppsScriptでSpredSheetsに逆GeoCodingできる関数を作りたいのですが、行き詰っています。SpredSheetsにGeoCodingする関数は、
function getGeocode(address) {
var gc = Maps.newGeocoder();
var result = gc.geocode(address);
var lat = result.results[0].geometry.location.lat;
var lng = result.results[0].geometry.location.lng;
return lat+","+lng;
}
のようですが(参照 http://filemaker-kou.seesaa.net/article/190100083.html )、逆GeoCodingできる関数が作れません。
Google Maps APIver2時代には、
function getAddress(placeCoord) {
// Return Address by placeCoord (reverse geocoding) placeCoord=lat,lng
if (placeCoord == "") {
return "You have to write the name the place"
}
var url = "http://maps.google.com/maps/geo?q="+ placeCoord+"&output=json";
var response = UrlFetchApp.fetch(url);
var str=eval('(' + response.getContentText() + ')').Placemark[ 0].address;
return str;
}
上記のような方法があったようですが、バージョンが変わってしまったため無理のようです。
どなたか、ご教示いただけませんか?
http://maps.google.com/maps/geo?q=137,190&output=json
APIは生きてるんじゃないですかね。(リファラ関係か、アドレスバーにコピペでエンターキー)
SpredSheetsを読み込む部分を含めて現状のコード、もしくはコピペで再現できるコードを提示したほうが早いです。
追記
C1=getGeocode(A1,B1)でやる方法
function getAddress(lat, lng) {
var placeCoord = lat.toString() + ',' + lng.toString();
var url = "http://maps.google.com/maps/geo?q="+ placeCoord+"&output=json";
var response = UrlFetchApp.fetch(url);
var str = JSON.parse(response.getContentText()).Placemark[0].address;
return str;
}