首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么缩小得越远,我的图钉就越不准确?谷歌地图应用编程接口V3

为什么缩小得越远,我的图钉就越不准确?谷歌地图应用编程接口V3
EN

Stack Overflow用户
提问于 2011-06-03 04:18:38
回答 2查看 2.2K关注 0票数 2

http://www.dissentskateshop.co.uk/store-locator/

你可以看到地图大头针在海里,但如果你放大,它就在我设置的位置。我要用这个拔头发了.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-03 04:35:40

根据这种行为,我猜测锚点没有正确设置:锚点似乎在图像的左下角,尽管“可见”锚点(大头针)更靠右,因此总是偏移量。如果以像素为单位查看距离,则无论在何种缩放级别下,与原始坐标的偏移始终是恒定的。

我看了一下您的脚本:在文件store-locator.js中,方法addMarkernew google.maps.MarkerImage的第四个参数是锚点。您已经将其设置为(0,32) (即图像的左下角)。这是错误的!获取正确的锚点位置并更改代码。

编辑:我已经看过图片了:正确的锚点坐标是(16,31)。试一试:-)

票数 4
EN

Stack Overflow用户

发布于 2011-06-03 05:34:16

这是您的自定义标记的问题,而不是地图坐标注册问题。

您需要将锚点放在图像的中心线上: 16,32,而不是0,32。我在你的网页上测试过了。

代码语言:javascript
复制
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中:

代码语言:javascript
复制
{
        "name"      : "Greenwich Observatory",
        "latitude"  : "51.47722",
        "longitude" : "0.0",
        "postcode"  : ""
}

在缩放级别为6(默认)时,格林威治天文台标记位于地图上剑桥点的东侧。放大两层,它在西边!当然,那是在修复bug之前。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6219888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档