2016-12-28 11 views
-2

おはよう、 私のウェブサイトでGoogleマップを使用します。 重要な設定: maxZoom:19、 minZoom:14 私はあなたが17からズームを変更したときにすることを設定したいズーム18 表示したくない - > 19 - > 18、私は17をしたいが逆に19から17から> 17Google Maps API JS - 省略ズーム18

google.maps.event.addListener(map, 'zoom_changed', function() { 
    if (map.getZoom() == 18) 
{ 
    map.setZoom(19); 
} 
}); 

- > 19それはOKですが、19から - > 17それは正しく

あなたはを追跡する必要があなたに

+0

はあなたの努力を示すために、あなたのコードの一部を表示することができますか?それはより多くの文脈を与え、あなたを助けるのがより簡単になります。 –

答えて

0

ありがとうござい動作しません。以前のズームと現在のズームが表示されます。

var prev_zoom = 17; 
google.maps.event.addListener(map, 'zoom_changed', function() { 
    document.getElementById('zoom').innerHTML = map.getZoom(); 
    if (map.getZoom() == 18 && prev_zoom == 17) { 
    map.setZoom(19); 
    } else if (map.getZoom() == 18 && prev_zoom == 19) { 
    map.setZoom(17) 
    } 
    prev_zoom = map.getZoom(); 
}); 

proof of concept fiddle

コードスニペット:

function initialize() { 
 
    var map = new google.maps.Map(
 
    document.getElementById("map_canvas"), { 
 
     center: new google.maps.LatLng(37.4419, -122.1419), 
 
     zoom: 17, 
 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }); 
 
    var prev_zoom = 17; 
 
    google.maps.event.addListener(map, 'zoom_changed', function() { 
 
    document.getElementById('zoom').innerHTML = map.getZoom(); 
 
    if (map.getZoom() == 18 && prev_zoom == 17) { 
 
     map.setZoom(19); 
 
    } else if (map.getZoom() == 18 && prev_zoom == 19) { 
 
     map.setZoom(17) 
 
    } 
 
    prev_zoom = map.getZoom(); 
 
    }); 
 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
html, 
 
body, 
 
#map_canvas { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://maps.googleapis.com/maps/api/js"></script> 
 
<div id="zoom"></div> 
 
<div id="map_canvas"></div>