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; }
C1=getGeocode(A1,B1)の方を回答に追記
2012/06/29 07:23:07素早い対応ありがとうございました。実は昨日の昼ごろから調べていて、徹夜した次第でした。見事に解決いたしました! 画像まで作っていただいて本当にありがとうございました!!
2012/06/29 07:25:43