我正在尝试放置自定义图标,以使图钉的底部位于坐标上,如下所示:

[

我知道坐标(在本例中为Alexandria)是正确的,经测试here

我这样称呼Marker构造函数:

var marker = new google.maps.Marker({
    position: {lat: Number(markerData.geodata.lat), lng: Number(markerData.geodata.lng)},
    title: '',
    icon: {
        url: _config.static.marker.default.normal.icon,
        size: new google.maps.Size(3, 3, 'rem', 'rem'),
        scaledSize: new google.maps.Size(3, 3, 'rem', 'rem'),
        anchor: new google.maps.Point(0,0) <-- I think this is where I'm going wrong
    },
    type: t,
    continent: markerData.continent,
    country: markerData.country,
    id: id,
    labelTitle: markerData.name,
    label: markerData.name.constructor,
    labelClass: 'map-marker-label map-marker-label-village',
    zIndex: 1
});

最佳答案

是的,您实际上发现了错误的地方,锚点是图像中经纬度坐标所在的点的坐标。

因此,如果您希望图钉的底部位于经/纬度坐标上,则应将锚点放置在图钉底部的像素的图像坐标X / Y处。

您的情况将是:

anchor: new google.maps.Point(27, 54)


因为你想要它在底部的中间

10-07 13:31