Hãy một số mã
Tôi vừa mới tạo ra một kịch bản dựa trên 5 tuổi ý tưởng của RASG. Hãy tạo một bản đồ ẩn và khi nó được nạp đầy đủ, hãy phóng to nó. Chúng tôi lặp lại nó cho đến khi nó lưu trữ tất cả các zoom. Làm việc fiddle is here. Tôi đã đặt thông tin div
ở góc trên cùng bên phải để xem cách tiến trình thu phóng.
// init the hidden map
var mapOptions = {
center: new google.maps.LatLng(center.lat, center.lng),
zoom: minZoom + 1
};
var preMap = new google.maps.Map(document.getElementById('map-canvas-hidden'), mapOptions);
// when the current hidden map is fully loaded, zoom it in
preMap.addListener('tilesloaded', function() {
$('#out').html('Zoom ' + preMap.getZoom() + ' preloaded');
// if there is zoom to zoom-in, do it after some rest
if(preMap.getZoom() < maxZoom) {
setTimeout(function(){
preMap.setZoom(preMap.getZoom() + 1);
}, 50);
}
});
Thực sự có lưu vào bản đồ không?
Vâng, hãy xóa bộ nhớ cache của trình duyệt và mở fiddle.
Trong hoạt động mạng trình duyệt, chúng ta có thể thấy nhiều hình ảnh tải xuống. Sau đó, phóng to bản đồ và xem lại hoạt động. Có vẻ như tất cả các hình ảnh được tải từ bộ nhớ cache.
Hy vọng điều đó sẽ hữu ích.
Nguồn
2017-03-02 21:54:34
Tôi gặp sự cố tương tự. Bạn muốn thực hiện thay đổi mức thu phóng mượt mà hơn ... – Flaudre
@Flaudre bạn đã thử giải pháp của RASG chưa? – wong2
Có thể phóng to chậm không phải là trải nghiệm người dùng tốt nhất cho người dùng trên kết nối chậm? Ngay cả khi bạn tải trước tất cả dữ liệu, họ sẽ phải đợi rất nhiều hình ảnh để tải tại một số điểm – dpix