2010-12-01 13 views
2

Googleマップにマーカーを2つ配置しました。 1つは米国にあり、他の1つはアジアのどこかにあります。 Googleはズームレベル1,2,3,4,5,6などを指定します。マーカー位置に応じてGoogleマップのズームレベルを設定する方法

ズームレベルをハードコードしたくありません。距離に応じてすべてのマーカーを表示するにはどうすればよいですか?私。 2つのアイテムがお互いに非常に接近している場合、または同じ都市では近いズームレベルを使用し、離れている場合は最大ズームレベルを使用する必要があります。

+0

あなたは、ウェブ上やGoogleマップを表示するには、Androidで使用されるのMapViewクラスについてはGoogleマップAPIについて話していますか? – Flo

+0

これは私がこの問題を抱えているが解決したこのリンクにあることを求めている答えです。 http://stackoverflow.com/questions/5114710/android-setting-zoom-level-in-google-maps-to-include-all-marker-points – Talha

答えて

0

あなたはマップを生成するために何を使用していますか?私は8ヶ月前から私のプロジェクトでGMap2 APIを使用しています.GDirections(map {{div}});)を呼び出さなければならなかったようです。 2つの場所の間のルートを表示させ、ズームのレベルを適切に調整するために地図のdivに配置します。

+0

申し訳ありませんあなたの答えは明らかではありません。 2つのマーカー.. – UMAR

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); 
}