2012-02-17 55 views
8

使用谷歌地圖v3進行開發。谷歌地圖v3自定義標記圖標不保留它在地圖上的位置

由於某種原因,我的自定義標記圖標「更改」它在放大的位置。它看起來像有某種「填充」屬性,不會與縮放一起更改。

這意味着它的位置在最大變焦位置是正確的(18),但是如果我改變了變焦值,它會「移動」一點到頂部,並且它會使較小的變焦值產生問題,因爲它看起來不是在相同的位置上。

標記被定義爲:

var image = new google.maps.MarkerImage('img/antennas/img.png',new google.maps.Size(100, 100)); 

這也許可以幫助:標記圖標立方形,100x100px,它的中心是在圖像的中間,而不是像「正常」標誌的底部。

更新:我必須做一些與錨屬性?

回答

3

除了僅使用標記,還使用MarkerImage作爲標記。

在這個例子中,我使用了一個標記,它是一箇中間有一個點的圓,所以我總是希望它居中。

var marker_image = new google.maps.MarkerImage(
     '../Media/icon_maps_marker.png', 
     null, 
     // The origin for my image is 0,0. 
     new google.maps.Point(0, 0), 
     // The center of the image is 50,50 (my image is a circle with 100,100) 
     new google.maps.Point(50, 50) 
    ); 
    var marker = new google.maps.Marker({ 
     clickable: true, 
     map: map, 
     position: center_location, 
     icon: marker_image, 
    }); 
0

查看圖標錨屬性:錨:新google.maps.Point(0,0)

var icon = { 
    url: image, 
    anchor: new google.maps.Point(0, 0) 
    }; 

    marker = new google.maps.Marker({ 
    position: Latlng, 
    map: map, 
    icon: icon, 
    optimized: false 
    });