簡體   English   中英

滾動最大縮放或最小縮放級別后,谷歌地圖略微移動

[英]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 所建議的,您可以在此處了解最新的experimentalrelease版。

但是,我建議通過更新代碼調用的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM