2014-10-03 16 views
8

Có cách nào để xác định mức thu phóng sao cho tất cả các điểm đánh dấu của tôi có thể vừa với mức thu phóng không? tôi đang sử dụng mapbox 0.4.0Mapbox Android xác định mức thu phóng có chứa tất cả các điểm đánh dấu

Tôi nghĩ câu trả lời tương tự như này, nhưng tôi không thể tìm thấy phiên bản android

[https://www.mapbox.com/mapbox.js/example/v1.0.0/markers-only-at-zoom-level/]

Trả lời

6

sao tôi đã hình nó ra. Tôi cần phải tạo ra một hộp bounding chứa tất cả các dấu hiệu

final BoundingBox zoomLevel = findZoomLevel(hotelLocation,poiLocations); 
mv.zoomToBoundingBox(zoomLevel,true,true); 
..... 

private BoundingBox findZoomLevel(LatLng hotelLocation, LatLng[] poiLocations) { 
     double bottomPadding = 0.002; 
     double topPadding = 0.005; 
     BoundingBox box = new BoundingBox(findTopMost(hotelLocation,poiLocations).getLatitude() + topPadding, 
       findRightMost(hotelLocation,poiLocations).getLongitude(), 
       findBottomMost(hotelLocation,poiLocations).getLatitude() - bottomPadding, 
       findLeftMost(hotelLocation,poiLocations).getLongitude()); 

     return box; 
} 

Cập nhật

LatLngBounds latLngBounds = new LatLngBounds.Builder() 
    .include(new LatLng(lat1,lng1)) 
    .include(new LatLng(lat2,lng2)) 
    .build(); 

mapboxMap.moveCamera(
CameraUpdateFactory.newLatLngBounds(LatLngBounds bounds, 
            int paddingLeft, 
            int paddingTop, 
            int paddingRight, 
            int paddingBottom)); 
+2

** zoomToBoundingBox() ** dường như không có sẵn nữa. những gì thay thế? –

+0

@LordFlash xem http://stackoverflow.com/a/37561003/284318 –

+0

Đơn vị nào được đo lường? – cuddlecheek

7

Với phiên bản SDK mới nhất câu trả lời hiện không hoạt động nữa. Thay vào đó, sử dụng này:

LatLngBounds latLngBounds = new LatLngBounds.Builder() 
    .include(new LatLng(<marker 1 latlng position>)) 
    .include(new LatLng(<marker 2 latlng position>)) 
    .build(); 

mapboxMap.moveCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, 50)); 

Nhờ có sự hỗ trợ Mapbox thân thiện cho việc cung cấp câu trả lời này :)

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