0
Googleジオコーダサービスを使用して、ユーザーが入力した都市の座標を取得しようとしています。しかし、LatLng()オブジェクト(latlngCity)を初期化する際に問題があるようで、マップは表示されません。コードは次のとおりです。googleジオコーダサービス
var map;
var latlngCity;
function initialize() {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': 'Lisbon, PT'}, function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
latlngCity = results[0].geometry.location;
}
});
var myMapOptions = {
zoom: 8,
center: latlngCity,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myMapOptions);
}
わかりやすくするために、私は自分自身で住所の都市文字列を挿入しています。変数mapとlatlngCityはグローバルです。このコードに何か問題はありますか? ありがとうございました。
お返事ありがとうございます。コールバックの中にマップを作成しようとしましたが、うまくいきました。ジオコーダーは正常に動作しています。しかし、マップ上にマーカーを作成することはできません。私はコールバックの中に 'var'のない地図を宣言しました。それは世界的な権利になるはずだったのですか?しかし、マーカーのオプションでマップを定義すると、決して表示されません。 –
マーカーはどこに作成しますか?まったく同じ問題かもしれません。地図作成後に 'geocode'コールバックの中にマーカーを設定してみてください。 – mhyfritz
それだけです!コールバック内にマーカーを作成する必要がありました。ありがとうございました。 –