2011-03-04 146 views
3

我在縮放級別15處將一組標記添加到地圖中。標記lat和lng當前設置爲小數點後第六位。標記錯誤地更改縮放位置

當我放大或縮小標記位置正在移出他們正確的位置。我是否需要在每個縮放級別移除和重繪標記?我需要增加我的座標的準確性嗎?這讓我發瘋......

測試頁:http://m.uwosh.edu/api/v1.0/map/ 點擊底部欄中的黃色圖標。

我創建我的標誌,像這樣:

function createMarker(data, type) 
{ 
    var posn = new google.maps.LatLng(data.lat,data.lng); 
    var title = data.title; 
    var image,shadow,shape; 
    if (data.typeId === '101') { 
     image = new google.maps.MarkerImage('/api/v1.0/map/images/buildings.png', 
     // This marker is 20 pixels wide by 32 pixels tall. 
     new google.maps.Size(24, 28), 
     // The origin for this image is 0,0. 
     new google.maps.Point(0,0), 
     // The anchor for this image is the base of the flagpole at 0,32. 
     new google.maps.Point(0, 28)); 
    shadow = new google.maps.MarkerImage('/api/v1.0/map/images/shadow-buildings.png', 
     // The shadow image is larger in the horizontal dimension 
     // while the position and offset are the same as for the main image. 
     new google.maps.Size(39, 28), 
     new google.maps.Point(0,0), 
     new google.maps.Point(0, 28)); 

    } 
    var markerOptions = { 
    position: posn, 
    title: title, 
    shadow: shadow, 
    icon: image 
}; 

var marker = new google.maps.Marker(markerOptions); 

    // could add event handler here 

    //add marker to array for latter use 
    if (type === 'building') { 
     buildingMarkers.push(marker); 
    } 
} 

回答

1

你不應該添加/刪除標記作爲標記放置與緯度/經度位置。

也許有些代碼可能會幫助我們弄清楚這一點。

+0

確定我已經添加了一個鏈接到我的測試網站的正文 – h3r2on 2011-03-04 21:15:37

+0

給你信用,因爲你的答案是正確的。如果你不搞亂圖標連接點,它將不會移動。 – h3r2on 2011-03-04 21:31:26

+0

我不確定他們是否真的在「移動」我在Chrome上測試了您的頁面。標記不完全移動。他們留在修理的地方,他們被告知要通過緯度/經度位置進行繪製。由於您正在放大地圖的不同部分,因此要擴大可視區域,標記需要保持相對於放大位置的位置。如果您使用鼠標滾輪放大標記,則會發現該標記不會移動。但是如果你放大不同的區域,它會保持它的代碼定義的經緯度位置。 – Sorean 2011-03-04 21:35:38

相關問題