2012-07-13 28 views
5

Samsung Smart TV 2012 ve temel olarak HTML5 ve JavaScript için bir uygulama yapıyorum. Google Maps V3 çok iyi çalışıyor, ancak bir şey. Görünüşe göre televizyonun yeterince işleme gücü yok, bu yüzden pürüzsüz efektler korkunç görünüyor. en büyük sorun, düzgün olan setZoom(). Bu yüzden sorum: pürüzsüz zumu devre dışı bırakmak için bir yöntem veya bir parametre var mı? veya tüm harita için tüm pürüzsüz etkileri devre dışı bırakmak mı? Teşekkürler!Google Maps API V3 yumuşak zumu kapat

cevap

10

Evet, yumuşak zumu devre dışı bırakabilirsiniz! Ama bazılarıyla ... değişiklikler. V2'de sadece "disableContinuousZoom()" işlemini yapabilir ve sorunu çözebilirsiniz, ancak bu yeni sürümde, Google'ın adamları bunu uygulamadı.

Bu ilk olasılıktır (ve bence en kötü ..):

* { 
    -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; 
} 

(bu çözüm şöyledir: 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) diğer çözüm

ve bence en iyi, openlayers ne uygulamıştır edilir:

/** 
* 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 
    }); 
}, 

Bu stilleri ile harita kabı kullanın, çünkü oldukça tuhaf, ancak davanın bağlıdır, belki en iyi çözüm thi olduğunu s! o gmaps docs üzerinde olmasa

+1

çok teşekkürler !! ferran87, css ile olayının bana oldukça iyi çalıştı! üzgünüm oy verebilecek kadar ünüm yok .. – codeTemplar

+0

Sorun yok codeTemplar! : p – ferran87

0

, bu benim için çalışıyor:

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

Son olarak, 4/17/2017 olarak, bu belgelenmemiş ayar hala benim için çalıştı. – MattGerg

İlgili konular