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

Google Maps API / JavaScript: How to find out base point / lowest point of custom marker to set as anchor point

我使用以下函数为 Google 地图 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
Type: Point optional
The position of the symbol relative to the marker or polyline. The coordinates of the symbol's path are translated left and up by the anchor's x and y coordinates respectively. By default, a symbol is anchored at (0, 0). The position is expressed in the same coordinate system as the symbol's 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',我认为是正确的。

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

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

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

fiddle

默认为(0,0):

fiddle