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