Google maps 使用SVG路径将标记锚定在图像上

Google maps 使用SVG路径将标记锚定在图像上,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我对以下代码有问题。 正如你所看到的,它在水上画了一个“T”,这很好,正是我在这个例子中想要的 现在的问题是我想设置锚。 如果您在标记中的锚定线中进行注释,您将看到T完全错误。而不是仅仅移动一点,使T的底部成为锚。 这是一个错误,那么我希望它得到修复。 除了重新计算所有路径坐标(如果可行的话),还有什么解决方法可以让它正常工作吗 函数初始化(){ 变量映射选项={ 缩放:8, 中心:新google.maps.LatLng(40,-150), mapTypeId:google.maps.mapT

我对以下代码有问题。
正如你所看到的,它在水上画了一个“T”,这很好,正是我在这个例子中想要的 现在的问题是我想设置锚。
如果您在标记中的锚定线中进行注释,您将看到T完全错误。而不是仅仅移动一点,使T的底部成为锚。
这是一个错误,那么我希望它得到修复。
除了重新计算所有路径坐标(如果可行的话),还有什么解决方法可以让它正常工作吗


函数初始化(){
变量映射选项={
缩放:8,
中心:新google.maps.LatLng(40,-150),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
新的google.maps.Marker({
图标:{
//主播:新google.maps.Point(8.1328125,17),
路径:“m 7.1855469,17 0,-12.6269531-4.7167969,0,-1.68945311.347656,0,1.6894531-4.7363279,0,12.6269531 z”
},
位置:新google.maps.LatLng(40,-150),
地图:地图
});
}

问题在于您正在使用命令
m
,该命令将笔移动到相对于当前笔位置的指定点x,y。当您更改锚点时,您并不是均匀地偏移所有点,而是使用锚点扭曲它们,使它们相互影响。(我不确定我是否在解释这一点)。M&L使用x y点,M和L使用相对x y点

这里我用LineTo(L)替换了您隐含的MoveTo(m)语句。(我还移动了起点,使其实际指向某个对象,这样您就可以看到更改锚点如何均匀地移动路径。还有一个基本标记供参考)


函数初始化(){
变量映射选项={
缩放:21,
中心:新google.maps.LatLng(40,-83),
mapTypeId:google.maps.mapTypeId.SATELLITE
};
var map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
新的google.maps.Marker({
图标:{
主播:新谷歌地图点(6,15),
路径:“M0,0L12,0L12,2L7,2L7,14L5,14L5,2L0,2Z”,
比例:5,
strokeColor:“红色”
},
位置:新google.maps.LatLng(40,-83),
地图:地图
});
//我是一个参考标记
新的google.maps.Marker({
位置:新google.maps.LatLng(40,-83),
地图:地图
});
}