google map APIで複数の住所をマーカー表示したい


日本語住所から、google map APIを用いて、複数のマーカーを地図上に表示させるコードを作っています。
実際に当コードを実行してみると、画面上には何の表示もされず(地図は出てこず真っ白)、chromeのデベロッパーツールのconsole上でも何のエラーも表示されません。
いろいろ試行錯誤したのですが、どこが間違っているのか、煮詰まって先に進めません。
何がおかしいのか、ご指摘いただけますでしょうか。
function initMap() {
var addresses = ['ここに日本語住所',];
var latlng = [];
var marker = [];
var myLatLng;
var geocoder;
var map = new google.maps.Map(document.getElementById('map_canvas'));
geocoder = new google.maps.Geocoder();


geo(aftergeo);

function geo(callback){
for (var i = 0; i < 3; i++) {
geocoder.geocode({'address': addresses[i]},
function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
latlng[i]=results [0].geometry.location;
marker[i] = new google.maps.Marker({
position: results [0].geometry.location,
map: map
});
} else {
}
});
}
callback();
}

function aftergeo(){
myLatLng = latlng[0];
var opt = {
center: myLatLng,
zoom: 16
};
map.setOptions(opt);
}
};

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2018/10/25 10:48:44
  • 終了:2018/10/31 11:22:51

回答(1件)

id:Lhankor_Mhy No.1

Lhankor_Mhy回答回数787ベストアンサー獲得回数2312018/10/26 12:10:02

補足情報がいただけなかったので、間違っているかもしれませんが……
aftergeo関数がジオコーディング完了の前に呼ばれているのが原因だと思います。

他4件のコメントを見る
id:Lhankor_Mhy

ああ、マルチポストしているのですね。
https://ja.stackoverflow.com/questions/49515/google-map-api%E3%81%A7%E8%A4%87%E6%95%B0%E3%81%AE%E4%BD%8F%E6%89%80%E3%82%92%E3%83%9E%E3%83%BC%E3%82%AB%E3%83%BC%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%9F%E3%81%84
解決したら、こっちも質問を閉じてくださいね。

2018/10/30 16:43:53

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

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

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

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