助けてください。シカゴの地図を作成しようとしており、現在の既知の場所がその地図上にマーカーとして表示されます。問題は(チュートリアルやドキュメントでこれについて明示的に言及されていませんが)、marker
同じスコープでvarを宣言する必要があるようです(おそらく直後ですか?)マップを宣言します---グローバル変数はドン'うまくいかないようです。私は非同期呼び出しを行っているため、これは困難です。したがって、position
定義したコールバック関数でマーカーを検証するだけです。したがって、次のコードは機能しません...
(function() {
var chicago = new google.maps.LatLng(41.87811, -87.62980);
var info = document.getElementById("info");
var map;
function showError(error)
{
info.innerHTML += "Error: " + error.message;
}
function getLocation(position)
{
current_location = new google.maps.LatLng(
position.coords.latitude, position.coords.longitude);
var marker = new google.maps.Marker({
position: current_location,
map: map
});
}
window.onload = function() {
var mapOptions = {
zoom: 10,
center: chicago,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(getLocation, showError);
}
}
})();
これから抜け出すきれいな方法はわかりませんが、そうでないことを示したいと思います。