2012-07-13 18 views
5

Estoy haciendo una aplicación para Samsung Smart TV 2012 y básicamente HTML5 y JavaScript. Google Maps V3 funciona muy bien, pero una cosa. Parece que el televisor no tiene suficiente potencia de procesamiento por lo que los efectos suaves se ven horribles. el mayor problema es setZoom() que es suave. Entonces mi pregunta: ¿hay algún método o tal vez un parámetro para deshabilitar el zoom suave? o tal vez para deshabilitar todos los efectos suaves para todo el mapa? ¡Gracias!Google Maps API V3 desactivar el zoom suave

Respuesta

10

Sí, ¡puede deshabilitar el zoom suave! Pero con algunos ... cambios. En V2, puedes hacer simplemente "disableContinuousZoom()" y resolver el problema, pero en esta nueva versión, los chicos de google no lo implementaron.

Ésta es la primera posibilidad (y la peor en mi opinión ..):

* { 
    -webkit-transition-property: none!important; 
    transition-property: none!important; 
    /* These doesn't affect anything, but, just in case. */ 
    -webkit-animation: none!important; 
    animation: none!important; 
} 

(esta solución es de: http://code.google.com/p/gmaps-api-issues/issues/detail?id=3033&q=continuous%20zoom&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Stars%20ApiType%20Internal)

La otra solución, y creo, el mejor, es lo que ha implementado en OpenLayers:

/** 
* APIMethod: setMapObjectCenter 
* Set the mapObject to the specified center and zoom 
* 
* Parameters: 
* center - {Object} MapObject LonLat format 
* zoom - {int} MapObject zoom format 
*/ 
setMapObjectCenter: function(center, zoom) { 
    if (this.animationEnabled === false && zoom != this.mapObject.zoom) { 
     var mapContainer = this.getMapContainer(); 
     google.maps.event.addListenerOnce(
      this.mapObject, 
      "idle", 
      function() { 
       mapContainer.style.visibility = ""; 
      } 
     ); 
     mapContainer.style.visibility = "hidden"; 
    } 
    this.mapObject.setOptions({ 
     center: center, 
     zoom: zoom 
    }); 
}, 

Esto es bastante extraño, porque utiliza el contenedor de mapa con estilos, sino que depende de su caso, tal vez la mejor solución es thi s!

+1

muchas gracias !! ferran87, la cosa con css trabajaron bastante bueno para mí! lo siento, no tengo suficiente reputación para votar .. – codeTemplar

+0

No hay problema codeTemplar! : p – ferran87

0

aunque no es en gmaps docs, esto funciona para mí:

map = new google.maps.Map(el, {animatedZoom: false}); 
+0

Hasta el 17 de abril de 2017, esta configuración no documentada todavía funcionaba para mí. – MattGerg

Cuestiones relacionadas