5

私はSamsungSmartTV2012とその基本的にHTML5とJavaScript用のアプリを作成しています。Google Maps V3は非常にうまく機能しますが、1つだけです。テレビには十分な処理能力がないようですので、滑らかな効果はひどいように見えます。最大の問題は、スムーズなsetZoom()です。だから私の質問:スムーズズームを無効にする方法やパラメータはありますか?または、マップ全体のすべてのスムーズ効果を無効にしますか?ありがとう!!

4

2 に答える 2

10

はい、スムーズズームを無効にすることができます!しかし、いくつかの...変更があります。V2では、「disableContinuousZoom()」を実行して問題を解決できましたが、この新しいバージョンでは、Googleの担当者はそれを実装していませんでした。

これが最初の可能性です(そして私の意見では最悪です..):

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

(このソリューションは、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

他の解決策、そして私が思うに、最良の解決策は、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
    });
},

マップコンテナをスタイルで使用するため、これはかなり奇妙ですが、ケースによっては、おそらく最善の解決策はこれです!

于 2012-07-13T08:25:34.540 に答える
2

gmaps docsにはありませんが、これは私にとってはうまくいきます:

map = new google.maps.Map(el, {animatedZoom: false});
于 2015-08-20T21:40:32.823 に答える