2013-07-28 25 views
14

Tôi muốn số TileOverlay hoạt động giống như Google Maps thực. Khi bạn phóng to, hình xếp vẫn hiển thị nhưng được pixel hóa cho đến khi lát xếp mới được tải xuống.Giữ các ô hiển thị trong khi tải TileOverlay Map API v2 Android

Hành vi hiện tại là: khi bạn phóng to, các ô biến mất và bạn thấy lưới xấu xí và người dùng phải chờ cho đến khi các ô mới được tải. Đây là loại gây phiền nhiễu.

Có giải pháp cho vấn đề này không?

+0

Liên kết này hữu ích. Vui lòng tham khảo liên kết này. [Link1] (https://github.com/googlemaps/android-samples/tree/master/ApiDemos) [Link2] (https://developers.google.com/maps/documentation/android-api/tileoverlay) –

Trả lời

-1

tôi làm việc xung quanh vấn đề này bằng cách "nạp trước" tất cả zoomlevels trước khi hiển thị bản đồ (chỉ là một sao chép/dán của nhà nước hiện nay, cần phải dọn dẹp):

@UiThread 
private void preloadAllZoomLevels(final float zoomLevel) { 
    if (zoomLevel == map.getMaxZoomLevel()) { 
     map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), 7)); 
     mapFragmentContainer.animate().alpha(1f); 
     return; 
    } 
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), zoomLevel)); 

    final float nextZoomLevel = zoomLevel + 1; 
    map.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() { 
     @Override 
     public void onMapLoaded() { 
      preloadAllZoomLevels(nextZoomLevel); 
     } 
    }); 
} 
-2

Về cơ bản, mỗi lần googlemap muốn vẽ ô cho tọa độ cụ thể - nó sẽ yêu cầu bạn cung cấp ô này. Bạn có thể sử dụng ô tĩnh (xem TileProvider) hoặc bạn có thể cung cấp URL, do đó GoogleMap sẽ truy cập vào máy chủ web của bạn và tự động tải xuống ô này (xem UrlTileProvider)

Không biết là nó có phù hợp với bạn không! Nhưng bạn có thể chia sẻ chi tiết về các yêu cầu của bạn nếu nó không hoạt động. Cảm ơn

+1

TS biết cách hoạt động, vì vậy thông tin này không thêm giá trị – Boy

+0

Thái độ tốt. Đó là cách Stackoverflow để kiểm duyệt. 'Câu trả lời' của bạn nên được đăng là bình luận tốt nhất. Và nếu bạn -1 một ai đó, đó là lịch sự để thêm một bình luận tại sao bạn đã làm điều này. Bạn vừa đưa ra thông tin chung ở đây. Tôi đoán bạn là một trong đó đã cho tôi một -1 quá ... khá một chuyên nghiệp – Boy

+0

Xin lỗi tôi đã không nhận được bạn! Và nó không phải là một nơi tranh luận về + 1/-1 !! Tôi chỉ hỏi bạn về điểm trừ của tôi không có gì khác! Để lại .. –

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