私はグーグルマップAPI2を使用していて、その上に複数のマーカーを表示しています。私の問題は、カメラをすべてのマーカーに配置したいということです。私は単一のマーカーのためにそれをしました
myMap.moveCamera(CameraUpdateFactory.newLatLngZoom(MyLocation, 22));
私はグーグルマップAPI2を使用していて、その上に複数のマーカーを表示しています。私の問題は、カメラをすべてのマーカーに配置したいということです。私は単一のマーカーのためにそれをしました
myMap.moveCamera(CameraUpdateFactory.newLatLngZoom(MyLocation, 22));
表示されているすべてのマーカーを表示するために、BelowWayを使用しました。これにより、配列リストにあるすべての緯度経度の場所を含むマップビューがバインドされます。
// Pan to see all markers in view.
// Cannot zoom to bounds until the map has a size.
final View mapView = getSupportFragmentManager().findFragmentById(R.id.map).getView();
if (mapView.getViewTreeObserver().isAlive()) {
mapView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@SuppressLint("NewApi")
@Override
public void onGlobalLayout() {
LatLngBounds.Builder bld = new LatLngBounds.Builder();
for (int i = 0; i < YOUR_ARRAYLIST.size(); i++) {
LatLng ll = new LatLng(YOUR_ARRAYLIST.get(i).getPos().getLat(), YOUR_ARRAYLIST.get(i).getPos().getLon());
bld.include(ll);
}
LatLngBounds bounds = bld.build();
mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 70));
mapView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
}
お役に立てば幸いです。