2013-06-19 91 views
0

請原諒我的英語不好,我是法國人!Android - 谷歌地圖V2:修正縮放顯示第一個可見標記

所以,我對我的Android應用程序有一個小問題。 我必須在地圖上集成Google地圖和顯示標記。然後,我必須dynamycaly放大用戶的位置。 沒關係。 但是!我想修正縮放以顯示第一個可見標記。

例如:如果距離這裏3公里處有一個標記,那麼對於已經從他那裏得到100米標記的用戶,縮放將不會相同!

你明白嗎?

非常感謝您的幫助!

+0

你有你的標記LatLng列表? – Carnal

+0

你試過LatLngBound嗎? –

回答

1
final LatLngBounds.Builder bc = new LatLngBounds.Builder(); 
for (LatLng marker : markers) { 
    bc.include(marker); 
} 
bc.include(new LatLng(yourLat, yourLong)); 

map.setOnCameraChangeListener(new OnCameraChangeListener() { 
    @Override 
    public void onCameraChange(CameraPosition arg0) { 
     map.moveCamera(CameraUpdateFactory.newLatLngBounds(bc.build(), padding)); 
     map.setOnCameraChangeListener(null); 
    } 
}); 

這將設置正確的縮放以適合標記和您的位置,然後您可以添加一些額外的填充!由於尚未計算大小,因此您必須設置CameraChangeListener以瞭解其大小,然後才能進行更新並刪除偵聽器。

+0

謝謝!但是什麼是「標記」變量?你如何得到標記? –

+0

「標記」僅僅是一個ArrayList 。 – Carnal

+0

我有這個錯誤:aused:java.lang.IllegalStateException:地圖大小不應該爲0.最有可能的是,佈局還沒有發生的地圖視圖。 –

相關問題