0

私の悪い英語を許してください、私はフランス人です!

そこで、私の Android アプリについて少し質問があります。Google マップを統合し、マップ上にマーカーを表示する必要があります。次に、ユーザーの位置を動的にズームする必要があります。それは大丈夫です。しかし !最初に表示されるマーカーを表示するために、ズームを修正したいと考えています。

例: ここから 3 km のマーカーがある場合、100 メートル離れたマーカーを持っているユーザーのズームは同じではありません。

わかりますか ?

助けてくれてありがとう!

4

1 に答える 1

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たかを知るように設定する必要があります。その後、更新を行い、リスナーを削除できます。

于 2013-06-19T12:32:42.333 に答える