2010-12-01 92 views
2

我在Google地圖上放置了兩個標記。一個在美國,另一個在亞洲的某個地方。 Google只提供縮放級別1,2,3,4,5,6等。如何根據標記位置設置Google地圖的縮放級別

我不想對縮放級別進行硬編碼。如何根據距離顯示所有標記?即如果兩個項目彼此非常接近或在同一個城市中,則應使用近距縮放級別,如果它們相距很遠,則應使用最大縮放級別。

+0

你在網絡上或者有關的Android用來顯示谷歌地圖的MapView類談論谷歌地圖API? – Flo 2010-12-01 08:56:40

+0

這是你要求的答案,在這個鏈接中,我也有這個問題,但解決了。 http://stackoverflow.com/questions/5114710/android-setting-zoom-level-in-google-maps-to-include-all-marker-points – Talha 2011-03-14 13:06:15

回答

0

你用什麼來生成你的地圖?大約8個月前,我在一個項目中使用GMap2 API,看起來我只需要調用'GDirections(map {{div}});'爲了讓它顯示兩個位置之間的路線,並適當地調整縮放的級別,地圖div也是如此。

1

您需要包括那些標記爲邊界框,然後輸入如下的LatLngBounds對象,以在其上設置攝像頭:

private void addMarkers() { 
    MarkerOptions markerOptions = new MarkerOptions(); 
    LatLngBounds.Builder boundsBuilder = new LatLngBounds.Builder(); 

    //add the marker locations that you'd like to display on the map 
    boundsBuilder.include(new LatLng(lat1, lng1)); 
    boundsBuilder.include(new LatLng(lat2, lng2)); 

    final LatLngBounds bounds = boundsBuilder.build(); 

    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, width, height, padding); 
    map.animateCamera(cameraUpdate); 
} 
相關問題