2010-11-24 5 views
4

Googleマップを「リフレッシュ」した後に問題が発生しました。自分でマーカーに配置することはできません(クリックする)。しかし、地図を更新する前に(初期化で)、クリックすることでマーカーを配置することができます。コードの何が間違っているのか分かりますか?以下はGoogleマップをリフレッシュするとマーカを追加できない

は私が正しくあなたの問題を理解していれば、あなたはrefreshMap関数を呼び出した後、あなたのマップが動作しないことを言っている

//Initialize the map 
function initialize() { 
    var myLatlng = new google.maps.LatLng(2,110); 
    var myOptions = { 
     zoom: 3, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.HYBRID 
    }; 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    infowindow = new google.maps.InfoWindow({ 
     content: "loading..." 
    }); 
} 

// Listen for click for markers 
function marker() 
{ 
    google.maps.event.addListener(map, 'click', function(event) { 
     addMarker(event.latLng); 
    }); 
} 

// Place markers in by click 

function addMarker(location) { 
    marker = new google.maps.Marker({ 
     position: location, 
     map: map, 
     title:"Specified Location", 
     icon: 'images/greenPoint.png' 
    }); 
    markersArray.push(marker); 
} 


function refreshMap() 
{ 
    var myLatlng = new google.maps.LatLng(1.1,107); 
    var myOptions = { 
     zoom: 4, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.HYBRID 
    }; 
    map = new google.maps.Map(document.getElementById("map_canvas"), 
    myOptions); 
} 

答えて

0

...私のコードです。スコープの問題のように私に聞こえます。map変数は2回目とは異なるスコープにあります。この行を入れてみてください:ファイルの最上部にある

var map = null; 

map参照のすべてが同じグローバルmap変数にあることを確認します。

+0

こんにちはコリン、しかし、私はすでにVARマップを入れてきたが;グローバル変数として上に表示されます。 –

1

最初に新しいgoogle.maps.Mapオブジェクトを作成するのはなぜですか?代わりに、このような何かを行う必要があります。

markersArrayあなたがここからのアプローチを使用してマップをクリアすることができるはず使用
function refreshMap() 
{ 
    var myLatlng = new google.maps.LatLng(1.1,107); 
    var myOptions = { 
     zoom: 4, 
     center: myLatlng, 
    }; 
    map.setOptions(myOptions); 
} 
+0

こんにちはエリック、おそらく私は私の質問をより明確に聞こえるようにしませんでした。たとえば、マップを初期化した後、マーカーをいくつか配置しました。その後、私はrefreshMap()ボタンを押します(これにより、すべてのマーカーを消去できます)。マーカー()関数をもう一度押すと、マーカーをもう一度置くことができます。今、私は地図をリフレッシュした後、私はマーカーを追加する関数を押すと、私はすべてを追加することができませんでした..ありがとう –

関連する問題