[英]OpenLayers zoom style like GoogleMaps
在GoogleMaps
当用户使用鼠标滚轮放大/缩小时,光标下方的点保持不变(其坐标),但是OpenLayers
地图具有不同的方法-当地图的缩放中心不变时。 可以在OpenLayers
地图中使用GoogleMaps
缩放样式吗?
编辑:实际上,我的OpenLayers
当前的行为是,当我在光标下的某个位置进行放大时,它将移动该位置到下一个缩放级别的地图中心。 可能是与我的地图特定设置(例如投影)有关的一些问题。
我猜您正在使用OpenLayers.Control.MouseDefaults控件进行导航。 好吧,您不应该这样做,因为此控件已被OpenLayers.Control.Navigation替换,并且将在OpenLayers 3.0中弃用。
快速浏览一下MouseDefaults的源代码,就可以确定它确实将地图居中于光标位置:
defaultWheelDown: function(evt) {
if (this.map.getZoom() > 0) {
this.map.setCenter(this.map.getLonLatFromPixel(evt.xy),
this.map.getZoom() - 1);
}
},
当光标停留在同一位置时,每次您放大/缩小地图时,地图都会居中到新位置,这很令人困惑。
OpenLayers.Control.Navigation使用与Google Maps相同的方法。 OpenStreetMap使用它,您可以在此处看到它的工作方式相同
实际上,当您在OpenLayers上查看“ 基本示例”时,就像Google Maps一样,地图似乎围绕鼠标指针缩放。 还是我在您的问题中遗漏了一些细节?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.