如何限制Google Maps API V3中的平移?在V2中有一种限制平移/拖动的方法,因此地图保持在特定范围内。怎么在V3中完成?假设我希望用户只看欧洲。我已经限制了缩放,但是如果我允许拖动(在这种情况下我必须出于其他原因),那么用户可以超出我想要显示的区域。请给出工作示例或代码片段 - 我不是专家编码器......谢谢!
3 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
我想我参加派对有点晚了,但因为这正是我现在所需要的,而且我对此有所改进,我想我还是会发一个答案。
通过Daniel Vassallo和brendo的答案,用户仍然可以使用平移控制(如果它被激活)远离想要的区域。@ Yauhen.F在评论中提到的东西。
因此,我使用了center_changed事件,而不是使用dragend事件。在拖动期间以及每次有人使用平移控件时都会持续触发。
// bounds of the desired areavar allowedBounds = new google.maps.LatLngBounds( new google.maps.LatLng(70.33956792419954, 178.01171875), new google.maps.LatLng(83.86483689701898, -88.033203125));var lastValidCenter = map.getCenter();google.maps.event.addListener(map, 'center_changed', function() { if (allowedBounds.contains(map.getCenter())) { // still within valid bounds, so save the last valid position lastValidCenter = map.getCenter(); return; } // not valid anymore => return to last valid position map.panTo(lastValidCenter);});
通过在拖动过程中连续保存最后一个有效位置,一旦超出界限,移动就会停止,而不是在拖动结束后退回。......
添加回答
举报
0/150
提交
取消