如何旋转谷歌地图div而不更改地图拖动功能

时间:2015-12-10 04:52:16

标签: google-maps google-maps-api-3 rotation drag

下面发布的问题 how to rotate a google map in a web application 可用于通过旋转包含地图的div来旋转地图

但如果我在地图上滚动或拖动,地图就会以不可预测的方式运作,是否有办法保留这些功能

注意:我正在使用div旋转地图,因为在该位置无法使用天线图块。

请说明是否可以使用其他地图api来完成如何在Google地图API中进行操作

1 个答案:

答案 0 :(得分:0)

除非你发表更完整的答案,否则很难肯定回答,但我相信你的问题与腐败系统有关。

您正在旋转地图的显示,但鼠标的x,y坐标不是。当您拖动鼠标时,javascript正在捕获相对于屏幕的鼠标移动,然后您将输出旋转45度。换句话说,谷歌地图不知道你已经旋转它。如果您只是将显示器调到90度,那么它将是相同的输出,鼠标仍然会发送相同的x,y坐标。

为了做我认为你想要的事情,你需要接管处理动作的代码或以另一种方式完成它。您会注意到在您引用的示例中禁用了拖动。

这可能是一个开始寻找鼠标事件的地图中心的地方: https://developers.google.com/maps/documentation/javascript/3.exp/reference#MouseEvent

您可以获得当前坐标和"转换"通过查看获取像素的示例,新的coordiantes: https://developers.google.com/maps/documentation/javascript/examples/map-coordinates

这是一个解释有关转换坐标系的一些内容的页面: http://www.continuummechanics.org/cm/coordxforms.html

如果这是你真正需要做的事情,那么它可能已经完成了,但是对于平均地图嵌入而言,要做到正确可能要困难得多。它可能还会添加大量处理,使交互变得非常滞后。

说完这一切之后,我仍然希望看到这样做的一个例子,所以如果你确实有效,请发一些代码。