2010-12-12 96 views
0

我使用getCenter()在网址中使用经纬度,以便用户可以在Google地图上共享/书签位置。然后,我使用panTo()尝试跳回到同一位置。虽然它总是跳回到大约相同的位置,但它永远不会是完全相同的视图。Google Maps v3 panTo()from getCenter()lat lng不会去同一位置

我想过使用setCenter()而不是panTo(),但这可能会搞乱我显示的自定义地图图层的引用计算。取决于中心恰好在哪里。

要查看问题的实际情况,您可以访问http://www.topomap.co.nz/并使用“共享”选项卡获取由getCenter()生成的url。使用这个url你会注意到它们显示的中心稍有不同。

请注意我目前正在使用latLng.toUrlValue(),它可以降低一些准确性,但是您可以手动调整“共享”选项卡中给出的单个经纬度的网址,您仍然可以看到同样的问题。

任何想法可能会发生什么?

+0

你能更详细地解释setCenter()与panTo()的问题吗?他们两个的最终结果应该是一样的。 – plexer 2010-12-17 06:50:49

+0

您好,我发现如果用户在新西兰东部选择了穿过新西兰和查塔姆群岛之间的Prime Meridian/180°经线的位置,使用setCenter可以影响我的自定义地图图块的计算。通过向东或向西滚动www.topomap.co.nz直到再次到达新西兰,可以实现类似的效果 - 自定义地图图块将不可见。我正在努力研究如何调整计算以实现这一点。 – Gavin 2010-12-19 20:39:44

回答

0

似乎哑剧()是用于setCenter无可替代()。我只需要围绕我的Prime Meridian问题进行编码并使用setCenter()代替。

+0

对于任何人因为在使用Google Maps API v3过境Prime Meridian时遇到同样的问题而遇到此问题,请在此处提供解决方法:http://code.google.com/p/gmaps-api-issues/问题/细节?ID = 2203 – Gavin 2010-12-21 07:35:50

0

你可能会在地图的转变之前,使用map.getBounds()的范围,然后当你需要回到这个观点运用

fitBounds(bounds:LatLngBounds) 

panToBounds(latLngBounds:LatLngBounds) 

不要知道它是否会工作,试试看... 在这里找到。

http://code.google.com/apis/maps/documentation/javascript/reference.html#Map

+0

感谢您输入vishwanath,但是我希望只需要在网址中输入一个长整数。除了真正需要的地方,使用地图中心方法的地方已经有很多网址了,所以实际上并不想改变网址结构。干杯。 – Gavin 2010-12-14 04:24:40

相关问题