谷歌地图API:标记图像定位

时间:2011-03-15 22:22:09

标签: javascript api google-maps-markers offset google-maps-api-2

我在Google地图上更改了用于marker的图像。新图像比旧图像宽得多,我注意到标记与latlng对齐,因此标记位于latlng上方的水平中点上方。 {1}}。这不是我想要的,我想让latlng与标记左侧对齐 - 我想将marker从默认位置偏移约80px到右。

2 个答案:

答案 0 :(得分:9)

尝试使用此尺寸。

var markerImage = new google.maps.MarkerImage('/img/icon/here.png',
    new google.maps.Size(80, 80), //size
    new google.maps.Point(0, 0), //origin point
    new google.maps.Point(0, 80)); // offset point
marker[stamp] = new google.maps.Marker({
    position: loc, // loc is a variable with my lngLat object
    title: params.name,
    map: window.gMaps[params.map],
    icon: markerImage
});

答案 1 :(得分:-1)

你想要MarkerImage的'anchor'属性。请注意,origin属性在构造函数调用中位于anchor之前。如果您没有使用精灵,则可以为可选参数发送null。

如果您的标记是80x60并且您希望锚点位于左侧中间,请按以下方式创建:

var markerImage = new google.maps.MarkerImage('customIcon.png', new google.maps.Size(80, 60), null, new google.maps.Point(0, 30));

另见Google's example