0

私はアンドロイドが初めてで、GoogleマップV2を持つアプリケーションを作成しています。実行時にカメラのズーム値をアニメーション化したい。現在の場所(緯度と経度)と目的地の場所(目的地の緯度と経度)に依存する必要があります。

両方のマーカーをできるだけ近くに表示し、mapv2 でのパン、ズームイン/アウトのジェスチャを必要としないようにズームする必要があります。

私はこのコードを使用しましたが、マップ上で両方の市場を表示するには、ジェスチャーをパンする必要があります。可能な限りデフォルトにして、パン ジェスチャを必要としないようにしたいと考えています。

map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude, longitude), 12.0f));

前もって感謝します。

4

1 に答える 1

1

使用する必要がありますnewLatLngBounds()

Returns a CameraUpdate that transforms the camera such that the specified latitude/longitude bounds are centered on screen at the greatest possible zoom level. You can specify padding, in order to inset the bounding box from the map view's edges. The returned CameraUpdate has a bearing of 0 and a tilt of 0.

2 点のバウンディング ボックスを計算し、南西端と北東端を指定します。

例:

map.animateCamera(CameraUpdateFactory.newLatLngBounds(new LatLngBounds(southWest,northEast),10));

境界ボックスを取得するには、ポイントをループして最大/最小緯度/経度を見つける必要があります

例:

for(//for loop){
    LatLng point = new LatLng(lat,lng)

    if(point.getLatitude() > maxLat){
        maxLat = point.getLatitude();
    }
    if(point.getLatitude() < minLat){
        minLat = point.getLatitude();
    }
    if(point.getLongitude() > maxLon){
        maxLon = point.getLongitude();
    }
    if(point.getLongitude() < minLon){
        minLon = point.getLongitude();
    }
}

northEast = new LatLng(maxLat,maxLon);
southWest = new LatLng(minLat,minLon);
于 2013-08-08T17:49:31.423 に答える