//options集合
final List<OverlayOptions> options = new ArrayList<OverlayOptions>();
//设置marker坐标
BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.mipmap.location_icon);
//yszlist存放从服务器中获取marker信息
for (int i = 0; i < yszlists.size(); i++) {
final LatLng point = new LatLng(Double.valueOf(yszlists.get(i).getPositionX()), Double.valueOf(yszlists.get(i).getPositionY()));
//给每个marker设置信息 同过信息来进行判断点击哪一个
Bundle mbundle = new Bundle();
mbundle.putInt("id",yszlists.get(i).getYszNo());
mbundle.putDouble("positionX",Double.valueOf(yszlists.get(i).getPositionX()));
mbundle.putDouble("positionY",Double.valueOf(yszlists.get(i).getPositionY()));
//marker详细参数
OverlayOptions option = new MarkerOptions()
.extraInfo(mbundle)
.position(point)
.icon(bitmap)
.alpha(0.5f);
options.add(option);
}
baiduMap.addOverlays(options);
baiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
final Bundle bundle = marker.getExtraInfo();
endPt = new LatLng(bundle.getDouble("positionX"),bundle.getDouble("positionY"));
startPt = new LatLng(mLatitude, mLongitude);
WalkRouteNodeInfo walkStartNode = new WalkRouteNodeInfo(); walkStartNode.setLocation(startPt);
WalkRouteNodeInfo walkEndNode = new WalkRouteNodeInfo();
walkEndNode.setLocation(endPt);
walkParam = new WalkNaviLaunchParam().startNodeInfo(walkStartNode).endNodeInfo(walkEndNode);
startWalkNavi();
}
点击地图上的两个marker进入两个不同的导航