0

これは私のコードのスニペットです。

//position on Center

CameraPosition cameraPosition = new CameraPosition.Builder().target(
       new LatLng(14.635356, 121.03272914)).zoom(15).build();

map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

//within bounds
map.moveCamera(CameraUpdateFactory.newLatLngZoom(QC.getCenter(), 12));

最初のコメントでは、設定した境界が表示されます。ただし、ボタンをクリックして現在の場所を表示すると、マップは現在の場所にズームインせず (それが本来の目的でした)、ズーム レベルを維持するだけです。

ただし、これを行うと

//within bounds
map.moveCamera(CameraUpdateFactory.newLatLngZoom(QC.getCenter(), 12));

//position on Center

CameraPosition cameraPosition = new CameraPosition.Builder().target(
       new LatLng(14.635356, 121.03272914)).zoom(15).build();

map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

カメラは現在の位置とズーム レベルにアニメーション化されますが、設定した境界は表示されません。

最初に設定した境界とズーム レベルを表示してから、現在地にズームインしてズームインできることを知りたいです。よろしくお願いします。

4

2 に答える 2

1

試すLatLngBounds

例:- 私が持っていると仮定しますGoogleMap mMap;

LatLng northeast=new LatLng(14.635356, 121.03272914);
LatLng southwest=new LatLng(15.635356, 120.03272914);// give values as your need
LatLngBounds mbounds=new LatLngBounds(southwest, northeast);
mMap.animateCamera(CameraUpdateFactory.newLatLngBounds(mbounds, 3));// Here 2nd parameter '3' is padding.

これにより、境界が含まれるように自動的にズームされます。

于 2013-10-03T05:23:58.890 に答える