2011-07-29 81 views
1

我有一個mapview,當用戶點擊mapview時,它設置了lon點&的lat點。我希望能夠在變焦距離捕捉縮放級別/半徑,最好的方法是什麼?半徑mapview

+0

請檢查這個問題:http://stackoverflow.com/questions/6002563/android-how-do-i-set-the-zoom-level-of-地圖查看到1公里半徑周圍的我curren 工作對我來說很好。 –

回答

0

getZoomLevel()是您正在查找的方法。

+0

縮放級別獲取縮放級別。你如何獲得以英里/米爲單位的半徑 – user546683

2

請檢查這個問題:Android: How do I set the zoom level of map view to 1 km radius around my current location?

工作的罰款我。

你必須使用:

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 

mapView.getController().setZoom(calculateZoomLevel(metrics.widthPixels)); 




private int calculateZoomLevel(int screenWidth) { 
    double equatorLength = 40075004; // in meters 
    double widthInPixels = screenWidth; 
    double metersPerPixel = equatorLength/256; 
    int zoomLevel = 1; 
    while ((metersPerPixel * widthInPixels) > 1000) { 
     metersPerPixel /= 2; 
     ++zoomLevel; 
    } 
    return zoomLevel; 
}