我有一個MapView,並且我調用getController()。zoomToSpan()。我對zoomToSpan()的問題是我想要在地圖引腳之外具有一致的(例如15dp)填充,以便可以在不需要用戶捏縮放的情況下選擇它們。目前我使用地圖引腳的最小/最大長/緯度填充zoomToSpan(),因此邊緣上的那些不能立即顯示或選擇。添加填充到MapViewController.zoomToSpan()
我已經考慮過使用固定的長/緯度填充,但我不能保證地圖引腳不會彼此過於接近或太遠。因此,雖然固定的長/寬填充可能適用於大多數情況,但它不適用於所有情況。
這是我當前如何設定zoomToPan():
mapView.getController().zoomToSpan(MapPoint.convertToGeoPoint(Math.abs(fMinLat - fMaxLat)), MapPoint.convertToGeoPoint(Math.abs(fMinLong - fMaxLong)));
這是一個想法,我對如何設置它,但我不知道是否確實解決了問題,或者是否有更好的方式來做到這一點:
mapView.getController().zoomToSpan(MapPoint.convertToGeoPoint((float) (Math.abs(fMinLat-fMaxLat) + (Math.abs(fMaxLat - fMaxLat)) * 0.5)), MapPoint.convertToGeoPoint((float) (Math.abs(fMinLong-fMaxLong) + (Math.abs(fMinLong - fMaxLong) * 0.5))));
我已經檢查了這些問題,但我過去使其工作點;我只是想讓它擦亮:zoomToSpan implementation problem和Calculating zoomToSpan() degrees based on min/max lat/lng to be in the mapView。