[英]Google map slightly moves after scrolling max zoom or min zoom level
我有一个简单的网络应用程序,我在其中使用带有 javascript 的谷歌地图。 我在地图中设置了最小和最大缩放级别,如下所示: this.map.setOptions({ minZoom:3,maxZoom: 17 });
我观察的是滚动后,即放大或缩小并达到最大或最小缩放级别,地图稍微移动/滑动而不是停止进一步放大或缩小。 以前它工作正常。为什么会发生这种变化? 有没有办法在达到最大或最小缩放级别后停止地图移动? 这就是我将地图加载到 div 的方式。
self.map = new gmaps.Map(document.getElementById('map'), { mapTypeControlOptions: {
position: gmaps.ControlPosition.TOP_RIGHT,
style: gmaps.MapTypeControlStyle.HORIZONTAL_BAR
},
fullscreenControl: false,
backgroundColor: '#F7F7F7',
clickableIcons: false,
streetViewControl: false
});
我的代码中没有处理缩放事件。设置最小和最大缩放级别后,可以在鼠标滚动时重现问题。 我昨天才观察到这个问题。
我建议更新您的代码,以便将来避免此类问题。 使用最新的对象名称将帮助您避免由于弃用而导致的错误和/或警告(类似这些)。 正如@Xomena 所建议的,您可以在此处了解最新的experimental
和release
版。
但是,我建议通过更新代码调用的Google MapOptions
对象属性名称来领先于曲线。 查看下面的代码示例,您将看到在Maps JS API 文档中,使用了Map Type control
样式属性选项的前缀google.maps
; 请注意,这不是gmaps.MapTypeControlStyle
。 像这样的小更新可帮助您保持领先于未来的发布版本。
地图类型控件可能会出现在以下样式选项之一中:
google.maps.MapTypeControlStyle.HORIZONTAL_BAR
将控件数组显示为水平栏中的按钮,如谷歌地图所示。google.maps.MapTypeControlStyle.DROPDOWN_MENU
显示单个按钮控件,允许您通过下拉菜单选择地图类型。google.maps.MapTypeControlStyle.DEFAULT
显示默认行为,这取决于屏幕大小,并且可能会在 API 的未来版本中发生变化。
<body>
<div id="map"></div>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: {lat: -28.643387, lng: 153.612224},
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
position: google.maps.ControlPosition.TOP_CENTER
},
zoomControl: true,
zoomControlOptions: {
position: google.maps.ControlPosition.LEFT_CENTER
},
scaleControl: true,
streetViewControl: true,
streetViewControlOptions: {
position: google.maps.ControlPosition.LEFT_TOP
},
fullscreenControl: true
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
</body>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.