http://www.dissentskateshop.co.uk/store-locator/
你可以看到地图大头针在海里,但如果你放大,它就在我设置的位置。我要用这个拔头发了.
发布于 2011-06-03 04:35:40
根据这种行为,我猜测锚点没有正确设置:锚点似乎在图像的左下角,尽管“可见”锚点(大头针)更靠右,因此总是偏移量。如果以像素为单位查看距离,则无论在何种缩放级别下,与原始坐标的偏移始终是恒定的。
我看了一下您的脚本:在文件store-locator.js中,方法addMarker:new google.maps.MarkerImage的第四个参数是锚点。您已经将其设置为(0,32) (即图像的左下角)。这是错误的!获取正确的锚点位置并更改代码。
编辑:我已经看过图片了:正确的锚点坐标是(16,31)。试一试:-)
发布于 2011-06-03 05:34:16
这是您的自定义标记的问题,而不是地图坐标注册问题。
您需要将锚点放在图像的中心线上: 16,32,而不是0,32。我在你的网页上测试过了。
var image = new google.maps.MarkerImage('http://www.google.com/intlen_us/mapfiles/ms/micons/red-dot.png',
new google.maps.Size(32, 32),
new google.maps.Point(0,0),
new google.maps.Point(16, 32));也要注意编辑阴影图像。
为了好玩,我把格林威治天文台添加到你的stores.json中:
{
"name" : "Greenwich Observatory",
"latitude" : "51.47722",
"longitude" : "0.0",
"postcode" : ""
}在缩放级别为6(默认)时,格林威治天文台标记位于地图上剑桥点的东侧。放大两层,它在西边!当然,那是在修复bug之前。
https://stackoverflow.com/questions/6219888
复制相似问题