Google Maps API / JavaScript:如何找出自定义标记的基点/最低点以设置为锚点

问题描述

我使用以下功能为Google Maps API创建(基本)自定义标记。一切正常,除了缩放时标记会略微改变位置。
我认为这是由认锚点引起的。

如何找出特定标记的基点(最低点),以便将其设置为锚点?

function createMarker(fillColor) {
    return {
        path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z',fillColor: fillColor,fillOpacity: 1,labelOrigin: { x: 0,y: -29 },scale: 1.2,strokeColor: '#fff',strokeWeight: 1
    };
}   

解决方法

对于SVG图标,默认情况下,符号锚定在(0,0)。位置以与符号路径相同的坐标系表示。”

anchor
类型:可选点
符号相对于标记或折线的位置。的坐标 符号的路径由锚点的x和y坐标向左和向上平移 分别。默认情况下,符号锚定在(0,0)。位置表示为 与符号路径相同的坐标系。

对于您的路径:'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z',这对我来说是正确的。

要进行更改,请如上所述设置anchor属性。

anchor: new google.maps.Point(0,-30)

会将“气泡”的中心放在坐标上。

fiddle

,默认值为(0,0)

fiddle