javascript - georreferenciación - google maps free api
Deshabilitar zoom arrastrando en Google maps haciendo clic en un botón (2)
La respuesta de @ ScottE me indicó la dirección correcta de usar map.setOptions()
. Sin embargo, de la documentación de la API , descubrí que hay un conjunto de opciones más elegantes para establecer. Quizás estos son más nuevos que la respuesta, pero funcionan bastante bien para mí.
function disablePanningAndScrolling()
{
map.setOptions({
zoomControl: false,
gestureHandling: ''none''
});
}
Esto desactiva por completo el zoom y la panorámica.
Para devolver las cosas a la normalidad, simplemente restablezca las propiedades a sus valores predeterminados:
function enablePanningAndScrolling()
{
map.setOptions({
zoomControl: true,
gestureHandling: ''greedy'' // or ''cooperative''*
});
}
*: el valor predeterminado es codicioso si la página no es desplazable, cooperativo cuando lo es. Elija cualquiera que sea la situación en su aplicación.
Quiero agregar códigos dentro de la función de deshabilitar () para deshabilitar el arrastre y el zoom en Google Maps API v3 haciendo clic en el botón "deshabilitar".
<script type="text/javascript">
var map;
function initialize() {
var uluru = new google.maps.LatLng(21, 57);
map = new google.maps.Map(document.getElementById("map"), {
zoom: 6,
center: uluru,
mapTypeId: google.maps.MapTypeId.HYBRID
});
}
function disable(){
}
</script>
<body onload="initialize()" >
<input type="button" id="next" value="disableZoomDrag" onclick="disable()">
</body>
Puede usar el método setOptions()
en el objeto de mapa:
map.setOptions({draggable: false, zoomControl: false, scrollwheel: false, disableDoubleClickZoom: true});
Si esto no impide el acercamiento, siempre puede establecer el zoom mínimo y máximo en el nivel de zoom actual.
También está la opción disableDefaultUI
, que probablemente tenga en cuenta todos estos eventos, pero puede deshabilitar el hacer clic en los elementos existentes.