问题描述
我使用以下功能为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)
会将“气泡”的中心放在坐标上。
,默认值为(0,0)