2012-07-13 32 views
5

Tôi đang tạo ứng dụng cho Samsung Smart TV 2012 và HTML5 và JavaScript cơ bản của nó. V3 của Google Maps hoạt động rất tốt nhưng có một điều. Có vẻ như TV không có đủ sức mạnh xử lý nên hiệu ứng mượt mà trông thật khủng khiếp. vấn đề lớn nhất là setZoom() trơn tru. Vì vậy, câu hỏi của tôi: là có một phương pháp hoặc có thể là một tham số để vô hiệu hóa mịn zoom? hoặc có thể vô hiệu hóa tất cả các hiệu ứng mượt mà cho toàn bộ bản đồ? Cảm ơn !!API Google Maps V3 vô hiệu hóa tính năng thu phóng mượt mà

Trả lời

10

Có, bạn có thể tắt thu phóng mượt mà! Nhưng với một số ... thay đổi. Trong V2 bạn có thể làm chỉ là "disableContinuousZoom()" và giải quyết vấn đề, nhưng trong phiên bản mới này, những kẻ của google đã không thực hiện nó.

Đây là khả năng đầu tiên (và tồi tệ nhất trong quan điểm của tôi ..):

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

(giải pháp này là từ: 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)

Các giải pháp khác, và tôi nghĩ, là tốt nhất, là những gì đã thực hiện trong 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 
    }); 
}, 

này là khá lạ, vì bạn sử dụng các container bản đồ với phong cách, nhưng phụ thuộc của trường hợp của bạn, có lẽ là giải pháp tốt nhất là thi S!

+1

lớn nhờ ferran87 !!, điều với css làm việc khá tốt đối với tôi! xin lỗi tôi không có đủ danh tiếng để bỏ phiếu .. – codeTemplar

+0

Không có vấn đề codeTemplar! : p – ferran87

0

mặc dù nó không phải trên gmaps docs, điều này làm việc cho tôi:

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

Gần đây nhất là ngày 17 tháng 4 năm 2017, cài đặt không có giấy tờ này vẫn hoạt động đối với tôi. – MattGerg

Các vấn đề liên quan