我用Latlngbound在地图v2上显示多个标记。当我点击其中一个标记时,我想让相机放大。
private void loadCenter(){
Builder boundsBuilder = new LatLngBounds.Builder();
for (int i=0;i<mmarker.saveMarker.size();i++)
{
boundsBuilder.include(mmarker.saveMarker.get(i));
}
LatLngBounds bounds = boundsBuilder.build();
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 60));
}
@Override
public boolean onMarkerClick(Marker mMarker) {
// TODO Auto-generated method stub
Toast.makeText(this, "MARKER CLICKED", Toast.LENGTH_LONG).show();
CameraUpdate zoom=CameraUpdateFactory.newLatLngZoom(mMarker.getPosition(), 15);
map.animateCamera(zoom);
return false;
}
我使用on marker click监听器来检测标记上的单击。方法中的吐司有效。但是相机就是不能放大,你知道为什么吗?谢谢您!
最佳答案
尝试:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getMap().animateCamera(CameraUpdateFactory.newLatLngZoom(mk.getPosition(), level));
}
}, 300);
我在实现类似的东西时遇到了同样的问题,并且注意到api在请求的定时方面有一些问题。这对我有效。