2013-03-04 25 views
1
function showPointMarker (point, index, address, changeCenter, changeZoomLevel) { 

    if (changeCenter) 
    { 
     if (changeZoomLevel) { 
     // marker.setMap(map); 
      map = new google.maps.Map(
         document.getElementById('map'), { 
         center: point, 
         zoom: 7, 
         mapTypeId: google.maps.MapTypeId.ROADMAP 
        }); 
     } else { 
      map = new google.maps.Map(
         document.getElementById('map'), { 
         center: point, 
         zoom: 10, 
         mapTypeId: google.maps.MapTypeId.ROADMAP 
        }); 


     var letter = String.fromCharCode("A".charCodeAt(0) + index); 
     //var letteredIcon = new GIcon(baseIcon); 
     //letteredIcon.image = ""; 
     var pinImage = new google.maps.MarkerImage("http://www.google.com/mapfiles/marker" + letter + ".png" , 
       new google.maps.Size(21, 34), 
       new google.maps.Point(0,0), 
       new google.maps.Point(10, 34)); 
     var siteLatLng = new google.maps.LatLng(point.hb,point.ib); 
     var marker = new google.maps.Marker({ 
      position: siteLatLng, 
      map: map, 
      icon:pinImage, 
      html: address 
     }); 
     marker.setMap(map); 
     google.maps.event.addListener(marker, "click", function() { 
      // alert(this.html); 
       infowindow.setContent(this.html); 
       infowindow.open(map, this); 
      }); 

     } //else ends here 
    } // if change center ends here 

} //function ends here 

我試圖添加標記到地圖,我不能保存我以前的標記,我只看到最後,請幫助我在這裏..欣賞你的幫助。 我在這裏錯過了一些東西,任何一點都可以指出我的錯誤。不能保留標記在谷歌地圖v3

回答

0

看起來你每次都在重新初始化地圖。您只想執行一次這些操作,例如:

if(! map) { 
    map = new google.maps.Map(  
    // ... 

使映射成爲全局變量,該變量起始爲空。

var map = null; 

此外,如果您刷新頁面,則需要重繪循環中的所有點。

+0

感謝您的回覆,我試過了,現在我得到了地圖上的第一個和最後一個標記.. – 2013-03-04 03:10:42

+0

'if(changeCenter)'看起來好奇。它包裝了整個函數,所以如果這是錯誤的,該函數不會執行任何操作。如果這是爲什麼要調用該函數?我可能會嘗試將其解決(在調用此函數的塊中執行此測試)。第一個'if(changeZoomLevel)'和'} else {'看起來有點不對稱。我將這個函數中的所有映射初始化和特殊情況分開,並刪除與changeCenter和changeZoomLevel相關的所有內容。此外,我會檢查JavaScript錯誤,以防止它們停止。 – 2013-03-04 05:14:32

+0

感謝User1389596,我拿出所有兩個條件,現在工作正常..我認爲最新的地圖會自動檢查縮放級別變化或centerchange,糾正我,如果我錯了。 – 2013-03-06 02:43:11