[英]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.