谷歌地图v3同步拖动
Google maps v3 synchronized drag
当用户拖动两个谷歌地图时,我目前正在尝试同步它们在屏幕上的移动。
目前我正在收听center_changed
事件。但是,只有在拖动完成后才会调用该操作,因此第二个贴图只在拖动之后移动,而不是在拖动期间移动。
我当前的代码看起来像这个
var mapOptions = {
center: new google.maps.LatLng(52.287373, -1.548609),
zoom: 12,
// streetViewControl: false
disableDefaultUI: true,
// draggable: false,
// disableDoubleClickZoom: false
};
mapOptions["styles"] = dayStyle;
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
backgroundMap = new google.maps.Map(document.getElementById("background-map"),
mapOptions);
google.maps.event.addListener(map, 'center_changed', function() {
// Set backgroundMap to match actual map
backgroundMap.panTo(map.getCenter());
});
google.maps.event.addListener(map, 'zoom_changed', function() {
// Set backgroundMap zoom to be further out than actual map
backgroundMap.setZoom((map.getZoom()-2 >= 1) ? map.getZoom()-2 : 1);
});
但我真的想创造同样的效果http://snazzymaps.com/有我已经尝试过使用bindTo
方法将背景图链接到前景图。但这也只会在拖动完成后更新背景贴图。
drag
事件是您想要的,但请将其与center_changed
一起使用,因为使用键盘箭头平移不会触发drag
事件。
我的代码似乎可以在桌面环境中工作。
然而,maps JS API限制了它在移动环境中的回调速率(我只能假设这是出于性能原因),因此每次拖动只调用center_changed
一次。与桌面上的呼叫频率高得多不同。
相关文章:
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 删除对HTML元素的拖动
- jQuery UI可排序-多连接列表拖动
- 禁用SVG拖动
- 旋转后拖动对象
- JQuery UI可拖动潜水与滚动棒到鼠标
- jsPlumb-拖动克隆而不进行复制
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 如何使元素在可拖动元素内可单击
- 如何在使用Kinetic拖动同一对象后,在旋转动画中保持先前的偏移
- 在d3中拖动一条线
- 使元素在iframe中可拖动
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- 如何使所有绘制的(矩形、圆形、直线、多边形)都可拖动?纯JS
- 拖动开始时更改可拖动元素的大小
- 如何正确拖动jqgrid编辑表单
- 交互.js拖动的项目移动到顶部
- 同步两个可拖动元素的位置
- 谷歌地图v3同步拖动
- 是否有任何方法来同步地图拖动在谷歌地图API V3