在我们使用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");            //选择响应逻辑}

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

                   



更多相关文章

  1. 如何为ListView设置分割线
  2. Android(安卓)服务器连接工具类HttpUtil
  3. Android文件读写简单示例
  4. Android监听WebView滑动到底部
  5. android的WebView简单实例
  6. android WiFi 开关代码
  7. 自定义垂直文字view
  8. android WiFi 开关代码
  9. android xml布局中TextView文字居中方法

随机推荐

  1. Android(安卓)Nine Patch图片及按钮背景
  2. Android中关于Volley的使用(一)加载图片
  3. Android(安卓)图片特效如何实现及总结
  4. 记录一下我的Android学习过程-第一课
  5. Android(安卓)P 开发者预览版 · 操作指
  6. Android(安卓)真的能跨平台吗?(翻译)
  7. android Java开发设计模式及在android中
  8. 腾讯优测优分享 | Android性能测试工具化
  9. 将程序安装到SD卡
  10. Android单元测试——初探