在我们使用Android百度地图开发的时候,很多时候会有一个需求,需要在地图上添加标注,代码如下:

BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.icon_marka);OverlayOptions overlayOptions = new MarkerOptions().position(new LatLng(latitude,longitude)).icon(bitmapDescriptor);Marker marker=(Marker) baiduMap.addOverlay(overlayOptions);

    点击地图图标后触发逻辑如下:

@Override    public boolean onMarkerClick(Marker marker) {    //点击后的响应逻辑}
    其中:
baiduMap.setOnMarkerClickListener(this);

    那么,问题来了,如果用户要求添加多个图标,并且每个图标有各自的点击响应逻辑时,该怎么处理呢?代码如下:

 Bundle mBundle = new Bundle();       //使用Bundle来标识每一个标注的信息 mBundle.putInt("id",i); // 地图标注 BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.icon_marka); OverlayOptions overlayOptions = new MarkerOptions().position(new LatLng(hotelMsgList.get(i).latitude,hotelMsgList.get(i).longitude)).icon(bitmapDescriptor); Marker marker=(Marker) baiduMap.addOverlay(overlayOptions); marker.setExtraInfo(mBundle);

      上例外面可加个for循环来创建地图标注,由上面代码可知通过一个Bundle对象,来存放每一个标注唯一的key,响应时通过取出Bundle中的key来识别是哪一个标注,响应代码如下:

@Override    public boolean onMarkerClick(Marker marker) {            Bundle bundle = marker.getExtraInfo();            int id = bundle.getInt("id");            //选择响应逻辑}

       通过上面的例子简单地实现了百度地图的多标注响应,效果图如下。

Android百度地图一种简单实现多标注及响应时间的方法_第1张图片                   Android百度地图一种简单实现多标注及响应时间的方法_第2张图片



更多相关文章

  1. android典型代码系列(三十)------DES加密算法
  2. 使用 Android NDK 重用现有的 C 代码
  3. 修改Android的开关机铃声、Android开关机画面与动画(附代码流程)
  4. Android 初学入门代码注释 学习笔记001 16.03.18
  5. Android实训所学功能实现代码集合
  6. Android自动更新代码
  7. android代码实现自动关机

随机推荐

  1. My first Android(安卓)programe!
  2. android emulator setting & configuatio
  3. Android(安卓)系统自带的图片
  4. Android(安卓)SQLiteOpenHelper
  5. Android(安卓)微信拍照控件
  6. Android流量统计代码
  7. android 音视频录制
  8. i.MX Android(安卓)R10.3 User Guide Upd
  9. Android(安卓)Res xml
  10. android 自定义表盘控件