如何让覆盖物全部显示到屏幕上?
如何让覆盖物全部显示到屏幕上?
因为有时显示的位置和覆盖位置比较远。这个时候,只能主动缩放或者移动地图。有代码实现的方式吗?
如何让覆盖物全部显示到屏幕上?
因为有时显示的位置和覆盖位置比较远。这个时候,只能主动缩放或者移动地图。有代码实现的方式吗?
2015-08-11
private void addOverLays(List<info> infos) {
mBaiduMap.clear();
LatLng latLng = null;// 设置一个经纬度对象
Marker marker = null;// 经纬度和marker都是循环生成的
OverlayOptions options;// 一个marker对应一个options
for (info info : infos) {
// 经纬度
latLng = new LatLng(info.getLatitude(), info.getLongtitude());
// 指定标记的位置和图标还有从纵向上涂层的位置z
options = new MarkerOptions().position(latLng).icon(mMarker)
.zIndex(5);
// 真正的生成了标记,options相当于对marker的配置
marker = (Marker) mBaiduMap.addOverlay(options);
// 通过marker把数据以bundle的形式传输,在传输的过程中必须设置为serializable形式以二进制数据传输
Bundle arg0 = new Bundle();
arg0.putSerializable("info", info);// key,value形式,value为这个info
marker.setExtraInfo(arg0);
}
在你的数据以list形式得到后把你的所有数据for循环出来;至于第二个问题
// 在遍历完所有标记之后地图需要移动到最后一个位置
MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(latLng);
mBaiduMap.setMapStatus(msu);
在遍历完之后的latLng是最后一个位置的经纬度,只需要把地图指定到这个位置就ok
举报