1.循环往地图上添加Marker点

2.用Bundle保存每个点的信息,这个实体类需要序列化  继承Serializable  并给一个常量serialVersionUID

private static final long serialVersionUID = 8633299996744734593L;

3.setZoomF可以设置地图缩放等级 方便展示所有点

4.Marker的点击监听setOnMarkerClickListener

示例代码:

    /*** 循环在Baidumap上添加marker点,并用bundle保存信息* 设置marker的点击监听*/
LatLng latLng = null;OverlayOptions option = null;Marker marker = null;private void initMarker() {Log.i("marker的头像地址", "《就是这个---》》》》》" + list);
//            Log.d("________________", "latLng" + latLng);Bitmap bitmap1 = getViewBitmap(view);BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap1);for (int i = 0; i < list.size(); i++) {stationsBean = list.get(i);latLng = new LatLng(stationsBean.getLatitude(), stationsBean.getLongitude());//构建MarkerOption,用于在地图上添加Markeroption = new MarkerOptions().position(latLng).icon(bitmapDescriptor).zIndex(9) // 设置marker所在层级.draggable(true); // 设置手势拖拽//在地图上添加Marker,并显示marker = (Marker) mBaidumap.addOverlay(option);
//            // 将信息保存Bundle bundle = new Bundle();bundle.putSerializable("marker", stationsBean);marker.setExtraInfo(bundle);}myListener.setZoomF(LevelUtil.getLevel(list.get(list.size() - 1).getFarfrom()) + 3);//设置缩放等级  根据点前位置和最远点的距离LogUtils.MyLog("----等级", LevelUtil.getLevel(list.get(list.size() - 1).getFarfrom()) + "juli" + list.get(list.size() - 1).getFarfrom());
//        mBaidumap.setMapStatus(MapStatusUpdateFactory.newMapStatus(new MapStatus.Builder().zoom(3.0f).build()));//添加marker点击事件的监听mBaidumap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {@Overridepublic boolean onMarkerClick(Marker marker) {//从marker中获取info信息Bundle bundle = marker.getExtraInfo();AroundOil.StationsBean stationsBeanThis = (AroundOil.StationsBean) bundle.getSerializable("marker");LogUtils.MyLog("----点击了", stationsBeanThis.toString());showMyDialog(stationsBeanThis);return true;}});}
    /*** 将View转换成Bitmap** @param addViewContent* @return*/private Bitmap getViewBitmap(View addViewContent) {addViewContent.setDrawingCacheEnabled(true);addViewContent.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));addViewContent.layout(0, 0,addViewContent.getMeasuredWidth(),addViewContent.getMeasuredHeight());addViewContent.buildDrawingCache();Bitmap cacheBitmap = addViewContent.getDrawingCache();Bitmap bitmap = Bitmap.createBitmap(cacheBitmap);return bitmap;}
    /*** 点击marker获得弹窗  调起导航**/private double d = 0;private double f1 = 0;private BigDecimal b = null;private void showMyDialog(final AroundOil.StationsBean stationsBeanThis) {//通过AlertDialog.Builder这个类来实例化我们的一个AlertDialog的对象,可以对Dialog的各个参数进行设置AlertDialog.Builder builder = new AlertDialog.Builder(getContext());//设置Title的标题builder.setTitle(stationsBeanThis.getOilname());//设置Title的图标builder.setIcon(R.mipmap.jiayou);//设置来显示主要的信息d = stationsBeanThis.getFarfrom() / 1000;b = new BigDecimal(d);f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();builder.setMessage(stationsBeanThis.getAddress() + "\n距离:约" + f1 + "km");builder.setPositiveButton("导航", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {loadingLayout.setVisibility(View.VISIBLE); NavUtil.showChoiceNaviWayDialog(getActivity(),new LatLng(latitudenew, longitudenew), new LatLng(stationsBeanThis.getLatitude(), stationsBeanThis.getLongitude()), "当前位置", stationsBeanThis.getAddress());}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {
//                Toast.makeText(getContext(), "取消" + which,Toast.LENGTH_SHORT).show();}});builder.show();}

Android百度地图自定义添加Marker点相关推荐

  1. android百度地图定位自定义图标,Android应用开发之android 百度地图自定义圆,更改默认图标等常用方法...

    本文将带你了解Android应用开发之android 百度地图自定义圆,更改默认图标等常用方法,希望本文对大家学Android有所帮助. 总结了一下百度地图常用的方法(前提是集成百度地图环境成功): ...

  2. android百度地图画圆,Android应用开发之android 百度地图自定义圆,更改默认图标等常用方法...

    本文将带你了解Android应用开发android 百度地图自定义圆,更改默认图标等常用方法,希望本文对大家学Android有所帮助. 总结了一下百度地图常用的方法(前提是集成百度地图环境成功): 1 ...

  3. 百度地图瓦片 android,百度地图自定义瓦片图获取

    nodejs代码 const request = require('request'); const fs = require('fs'); const bagpipe = require('bagp ...

  4. android百度地图自定义覆盖物,Android 百度地图在地图上添加覆盖物(头像)

    通过百度地图或者高德地图的demo可以看到有在地图上加载覆盖物的代码,但是加载的都是相同的覆盖物.如果加载不同的人物头像,而且一次加载很多的话,能不能实现呢.确实有这样的需求. 先看看效果图吧. im ...

  5. android百度地图自定义图层,百度地图开发之百度地图定位图层基本使用方法讲解...

    (一):基本介绍: 百度地图可以直接提供定位功能,并且把位置信息以图层的形式标注在地图上面(PopupView),同时还支持自定义设置图标,这样便于用户直接查看位置信息.要实现以上的方法,我们主要需要 ...

  6. android 百度map 一个layout加载多个mapview,android 百度地图API 使用Marker和InfoWindow

    前言:在android开发过程中,百度地图的使用是比较普遍的,但是如何使用,使用什么版本的百度API还是需要一些讲究. 在项目过程中,需要用到百度地图的marker和InfoWindow的功能. 标注 ...

  7. android百度地图 自定义气泡,百度地图自定义吹出框(气泡)(转)

    demo模式:非ARC,使用storyboard. demo资源: http://download.csdn.net/detail/mad1989/5252037 Step1 创建demo,并添加百度 ...

  8. 百度地图自定义添加一个标注

    1.引入百度地图js(需要去百度地图申请ak) <script type="text/javascript"src="https://api.map.baidu.c ...

  9. android 百度地图批量添加标注,百度地图API实战

    为地图批量添加标注 这一节我们将在地图上标出我们获取的到旅馆位置 1.原理 我们可以通过for循环的方式为地图批量添加标注 2.设置点的新图标 我们可以通过Icon(url:String, size: ...

  10. android 百度地图 自定义地图标注,百度地图自定义标注

    步骤:① 定义构造函数并继承Overlay,通过构造函数参数可以传递一些自由的变量.设置自定义覆盖物对象的prototype属性为Overlay的实例,以便继承覆盖物基类. functionCompl ...

最新文章

  1. [原]fuse-convmvfs 0.2.6介绍及使用
  2. 局域网win7计算机如何互访,局域网win7电脑的互访步骤
  3. python识别手写文字_如何快速使用Python神经网络识别手写字符?(文末福利)
  4. 从零开始编写深度学习库(二)FullyconnecteLayer CPU编写
  5. 一些比较恶心的代码片段
  6. 淘宝退款崩溃;马云预言成真;谷歌推新API | 极客头条
  7. codeforces 664B B. Rebus(乱搞题)
  8. bzoj3612 平衡 (dp)
  9. 用Java写一个递归遍历目录下面的所有文件
  10. winform 实现qq代理_「设计模式」代理模式:神奇的代理模式,节省了我80%开发时间...
  11. mse 反编译_专业Delphi反编译工具(DeDeDark)
  12. 如何修改ssh端口号
  13. 深度解析《软文广告经典案例300》
  14. 根据pc值确定出错的代码位置
  15. Elliptic Curve Cryptography: finite fields and discrete logarithms
  16. USB无线网卡共享台式机接入ADSL无线上网
  17. 10个程序员必上的网站
  18. weblogic下java程序占用cpu过高的问题排查
  19. The Network Adapter could not establish the connection.java.net.ConnectException: Connection refu
  20. 刚开始做淘宝运营应该怎么入手?

热门文章

  1. 孙中原:为什么墨家会产生科学思想?
  2. 链家混三个月底薪_应届毕业生入职链家,到离职
  3. 人生终归平淡,转:为什么我们对平凡的人生深怀恐惧
  4. springboot微信点餐系统的设计与实现毕业设计源码221541
  5. Android 11 正式发布:更方便的操作和更安全的隐私
  6. 2-10-Mysql认实和搭建LAMP环境部署Ucenter和Ucenter-home网站
  7. python实现MACD策略背离点的判断
  8. [教程] 使用魔影工厂和Nero 10制作DVD光盘
  9. 数据预处理transforms
  10. JVM3-类文件结构