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;
}
上記のような方法があったようですが、バージョンが変わってしまったため無理のようです。

どなたか、ご教示いただけませんか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/06/29 04:37:02
  • 終了:2012/06/29 07:26:33

回答(1件)

id:Cherenkov No.1

Cherenkov回答回数1503ベストアンサー獲得回数4932012/06/29 05:09:15

ポイント200pt

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;
}
他6件のコメントを見る
id:Cherenkov

C1=getGeocode(A1,B1)の方を回答に追記

2012/06/29 07:23:07
id:ozaki

素早い対応ありがとうございました。実は昨日の昼ごろから調べていて、徹夜した次第でした。見事に解決いたしました! 画像まで作っていただいて本当にありがとうございました!!

2012/06/29 07:25:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません