2012-09-19 117 views
3

在我的應用程序中我有一個MapView。Android MapView縮放到半徑

我想根據用戶設置的半徑更改地圖的縮放比例。 我在this的鏈接中找到了答案,但問題是,該功能只考慮屏幕的寬度..我想高度也要考慮。

例如:如果我想看到1km的半徑 - 鏈接中的功能將顯示我的寬度爲1km,但不是1km的高度。 對我來說,它對兩個人來說都非常重要寬度和高度即使高度爲1km時寬度爲1.5km

我該怎麼辦?

+0

你可以得到一個方式做這個? – Zeba

+0

不是真的......問題中的鏈接是我迄今發現的最佳答案.. –

回答

4

下面是工作代碼和準確的結果。

1)請在對象的圈子所需半徑

Circle circle = mGoogleMap.addCircle(new CircleOptions().center(new LatLng(latitude, longitude)).radius(getRadiusInMeters()).strokeColor(Color.RED));   
     circle.setVisible(true); 
     getZoomLevel(circle); 

2)傳遞對象這一功能,並設置縮放級別 這裏的a link

public int getZoomLevel(Circle circle) { 
if (circle != null){ 
    double radius = circle.getRadius(); 
    double scale = radius/500; 
    zoomLevel =(int) (16 - Math.log(scale)/Math.log(2)); 
} 
return zoomLevel; 
}