现在搞的app是关于百度地图的,因为要求要把所有覆盖物显示在一个视野。。。所以在网上找了很久,终于找打了方法
用的是
overlayManager.zoomToSpan();方法
代码如下:
先把要// 构建MarkerOption,用于在地图上添加的Marker添加到这个集合里
<pre name="code" class="java">List<OverlayOptions> overlayOptions = new ArrayList<OverlayOptions>();
final OverlayManager overlayManager =new OverlayManager(mBaiduMap) {
@Override
public boolean onMarkerClick(Marker marker) {
//因为这里复写了onMarkerClick方法所以 mBaiduMap.setOnMarkerClickListener()无效了
//要在 mBaiduMap.setOnMarkerClickListener()往这里传marker;把需要实现的方法写在这里
return true;
}
@Override
public List<OverlayOptions> getOverlayOptions() {
return overlayOptions;//这个是必须要实现的,把要显示的覆盖物放在List<OverlayOptions>
}
};
overlayManager.addToMap();
overlayManager.zoomToSpan();
点击marker事件需要加:
mBaiduMap.setOnMarkerClickListener(new OnMarkerClickListener() {
@Override
public boolean onMarkerClick(final Marker marker) {
// TODO Auto-generated method stub
overlayManager.onMarkerClick(marker);//把marker传入就行
return true;
}
});
注:最新的百度地图sdk把 OverlayManager 类开源,已不再sdk里需单独下载放在自己项目里