-1

次のコードを使用して、にマップを追加divし、ユーザーの現在の場所にマーカーを配置しようとしています。このようなことを試したのは初めてで、ここ数日、さまざまなチュートリアルやGoogleのWebサイトにあるものに従って遊んでいますが、うまく機能させることができません。マップは表示されますが、何を試してもマーカーは表示されません。座標を使用して静的マーカーも追加しようとしましたが、マップに何も表示されません。それは私を少し怒らせ始めています。どんな助けでも大歓迎です。

function initialize() {
    var myOptions = {
        center: new google.maps.LatLng(53.36652, -2.29855),
        zoom: 14,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map =
        new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var myLatlng = new google.maps.LatLng(53.36652,-2.29855);

    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        title:"Hello World!"
    });
}

marker.setMap(map);
4

1 に答える 1

1

あなたの行
marker.setMap(map);
は関数の外にあります。markerが未定義であることを示すメッセージを受け取っているはずです。

その行を関数に移動します — 最後の}.

var map...関数内で使用すると、その関数のスコープが制限されることに注意してくださいmap。関数が完了すると、変数は存在しなくなります。マップで他のことをしたい場合は
var map;
、グローバルスコープで(関数の外で)宣言し、その変数を関数内で
map = ...(no var)で使用する必要があります。

于 2012-05-21T06:51:38.543 に答える