承接上文未完的继续介绍,上文内容:https://blog.csdn.net/qq_41562408/article/details/82810484主要实现百度地图的定位以及对于地图覆盖物进行简单介绍,这篇文章便是对于地图覆盖物进行,经过阅读开发文档,我们会发现对于百度地图的覆盖物的制作主要有点、线、面、文字等操作,本文针对几个有代表性和常见的地图覆盖物进行介绍。圆形覆盖物、文本覆盖物、标志覆盖物。

上文介绍,对于地图覆盖物的制作主要是针对地点中心的纬经度以及基本属性进行确定。代码还是简单,所以笔者就在上一次项目基础上进行制作,上文项目上文介绍,之间复制代码便可。

1、圆形覆盖物:

核心代码:

CircleOptions options=new CircleOptions();
options.center(target)//圆心
.radius(1000)//半径
.stroke(new Stroke(20,0x55FF0000))//线条宽度、颜色
.fillColor(0x5500FF00);//圆的填充颜色
baiduMap.addOverlay(options);//添加一个覆盖物

首先这是中心地点:就设立在自然公园了,毕竟这是离我学校最近的地方。你也可以设置其他地方,甚至设置Edittext进行手动输入也行

protected LatLng target=new LatLng(39.547512,116.654764);

然后与oncreat方法中进行添加,当然你也可以添加到其他地方,比如设置一个button等只是演示我就从简了:

CircleOptions options=new CircleOptions();
options.center(target)//圆心.radius(1000)//半径.stroke(new Stroke(20,0x55FF0000))//线条宽度、颜色.fillColor(0x5500FF00);//圆的填充颜色
baiduMap.addOverlay(options);//添加一个覆盖物

2、文本覆盖物

核心代码:

TextOptions didian=new TextOptions();
didian.position(target)//位置.text("我最爱去的地方")//文字内容.fontSize(40)//字体大小.fontColor(0xFF000000)//颜色.bgColor(0x55FF00)//背景颜色.rotate(30);//设置旋转
baiduMap.addOverlay(options);

设置中心坐标:

protected LatLng target=new LatLng(39.547512,116.654764);

然后与oncreat方法中进行添加,当然你也可以添加到其他地方,比如设置一个button等只是演示我就从简了:

TextOptions didian=new TextOptions();
didian.position(target)//位置.text("我最爱去的地方")//文字内容.fontSize(40)//字体大小.fontColor(0xFF000000)//颜色.bgColor(0x55FF00)//背景颜色.rotate(30);//设置旋转
baiduMap.addOverlay(options);

3、标志覆盖物

对于标志覆盖物有点复杂,为了普适性,笔者把图标移动也加进去,读者依据自己的实际需要确定开启或关闭功能。代码:

(1)、设置pop.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/popupmap"android:gravity="center_vertical" ><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginBottom="2dip"android:src="@drawable/round" /><TextViewandroid:id="@+id/tv_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:ellipsize="end"android:text="标题"android:textSize="20sp" /><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/roads" />
</LinearLayout>

(2)设置变量

private TextView tv_title;
private View pop;

(3)设置监听方法:

/*** 标志拖动监听器*/
BaiduMap.OnMarkerDragListener markerDragListener=new BaiduMap.OnMarkerDragListener() {//标志开始拖动@Overridepublic void onMarkerDrag(Marker marker) {mapView.updateViewLayout(pop,CreatLayoutParams(marker.getPosition()));}//拖动结束@Overridepublic void onMarkerDragEnd(Marker marker) {mapView.updateViewLayout(pop,CreatLayoutParams(marker.getPosition()));}//正在拖动@Overridepublic void onMarkerDragStart(Marker marker) {mapView.updateViewLayout(pop,CreatLayoutParams(marker.getPosition()));}
};
BaiduMap.OnMarkerClickListener markerClickListener=new BaiduMap.OnMarkerClickListener() {@Overridepublic boolean onMarkerClick(Marker marker) {if (pop==null){pop=View.inflate(MainActivity.this,R.layout.pop,null);tv_title=(TextView)pop.findViewById(R.id.tv_title);//显示一个popmapView.addView(pop,  CreatLayoutParams(marker.getPosition()));} else {mapView.updateViewLayout(pop,CreatLayoutParams(marker.getPosition()));}tv_title.setText(marker.getTitle());return true;}
};/*** 创建一个布局参数* @param position* @return*/
@NonNull
private MapViewLayoutParams CreatLayoutParams(LatLng position) {MapViewLayoutParams.Builder builder=new MapViewLayoutParams.Builder();builder.layoutMode(MapViewLayoutParams.ELayoutMode.mapMode);//指定坐标类型为经纬度builder.position(position);//设置标志的位置builder.yOffset(-25);return builder.build();
}/*** 初始化标志*/
private void initMarker() {MarkerOptions options=new MarkerOptions();BitmapDescriptor icon= BitmapDescriptorFactory.fromResource(R.drawable.icon_eat);options.position(target)//位置.title("有好吃的")//title.icon(icon)//图标.draggable(true);//设置图标可以拖动baiduMap.addOverlay(options);
}

(4)与oncreat方法调用:

initMarker();
baiduMap.setOnMarkerClickListener(markerClickListener);baiduMap.setOnMarkerDragListener(markerDragListener);

扁担西去气凌云,坐看鱼龙跃浪纹。

风起白苹初日晚,霜雕红叶欲秋分。(人民日报)

今天9点54分,便迎来了秋分节气,秋色总关情,祝愿你身长无忧。

Android studio3.0对于百度地图api开发(4)——百度地图地图覆盖物制作相关推荐

  1. java调用高德地图API开发,高德在线地图开发——未完待续

    这是目录 一.引入高德地图API 二.高德地图开发 1.定义一个div来存放地图 2.生成地图 3.添加一个跳跃的点 4.添加控件 5.有其他需要的请留言 一.引入高德地图API 高德地图官方示例:h ...

  2. 百度地图api开发详解(android版).pdf,百度地图API开发指南原版.pdf

    百度地图API开发指南原版 百度地图 API 开发指南 百度地图 API 开发指南 目录 简介 3 什么是百度地图 API 3 面向的读者 3 获取 API 3 开发移动平台上的地图应用 3 兼容性 ...

  3. Android开发-基于百度地图API开发仿滴滴出行APP界面的实现

    前 言 近年来,由于移动互联网快速的发展以及基于移动设备的APP的普及,移动互联网改变了人们的生活方式.从线上的电子支付到线下的出行,移动互联网是当今社会人们生活不可或缺的一部分,而线下出行的网约车的 ...

  4. 开发工具总结(4)之Android Studio3.0填坑指南

    序言 Android Studio 3.0 上篇讲了: 全面总结Android Studio2.X的填坑指南 这篇讲一下AS3.0的坑.. 作为这个世界上走在最前沿的生物"猿",怎 ...

  5. 百度地图API开发指南

    百度地图API开发指南 本文为百度地图API官方版本的开发指南,供各位51CTO的网友进行参考. 简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮 ...

  6. 职坐标 Android,IOS开发入门之MacOs安装Android Studio3.0的常见问题及解决方案

    本文将带你了解IOS开发入门MacOs安装Android Studio3.0的常见问题及解决方案,希望本文对大家学IOS有所帮助. MacOs安装Android   Studio3.0的常见问题及解决 ...

  7. 使用Angular8和百度地图api开发《旅游清单》

    前言: 本文的目的是通过一步步实现一个旅游清单项目,让大家快速入门Angular8以及百度地图API.我们将收获: Angular8基本用法,架构 使用百度地图API实现自己的地图应用 解决调用百度地 ...

  8. android 调用搜狗地图api,搜狗地图API开发手册.doc

    搜狗地图API开发手册 类列表: HYPERLINK "/api/documentation/javascript/api1.0/reference.html" \l " ...

  9. 地图API开发平台大比拼

    八大地图API开发平台大比拼 http://www.enet.com.cn/gps/ 2011年12月07日14:08 来源:eNet硅谷动力 [文章摘要]在平台适用性方面,除MapBar和51地图只 ...

  10. 安卓学习专栏——百度地图(1)获取SHA1指纹申请百度地图API Key使用百度LBS定位功能(图文保姆级)

    步骤 系列文章 前言 1.前期准备 2.创建应用 3.获取发布版SHA1和开发版SHA1 3.1找到.android文件夹位置 3.2Android Studio的Terminal中cd路径 3.3输 ...

最新文章

  1. eigen跟踪MILTracker
  2. python 将布尔数组取反的方法 True False(b=(a==False))
  3. Android 使用jarsigner给apk签名的方法详细介绍
  4. php 链接文件名_7、php-fpm进程管理
  5. Android系统原生应用解析之桌面闹钟及相关原理应用之时钟任务的应用(一)
  6. 90后美女大学生,年薪30W的程序员,他们都决定去送外卖了!
  7. 【激活函数】PRelu激活函数
  8. java多线程之生产者消费者问题
  9. android开源SlidingMenu使用
  10. 谁让APP工程师产生了泡沫?
  11. 第二讲 JavaScript基本数据结构
  12. 关于opencv中的imread()函数声明
  13. PDF怎么翻译成中文?这些方法值得收藏
  14. 高中计算机教师学期论文,高中信息技术论文选题
  15. 类似吾爱破解论坛的网站有哪些?破解软件网站合集推荐
  16. uni 获取本地文件_uni-app 图片(文件) 本地存储解决方案
  17. adobe服务器无响应,链接不到adobe服务器
  18. eclipse新建类auther自填充
  19. Adobe软件老是出现要求输入密码的弹窗怎么解决?
  20. Es6 set和map

热门文章

  1. 用计算机怎么成绩排名,excel表中如何成绩排名,excel表怎么排名
  2. 数据结构“入门”—空间复杂度
  3. Angular 学习系列 - - angular.uppercase、angular.lowercase、angular.fromJson、angular.toJson
  4. cad转换pdf怎么转换?cad转换pdf的简单教程
  5. 一句话生成视频(python)
  6. 张瀚荣 如何用UE4制作3D动作游戏
  7. 程序员的叹息 (来自堕落兽人)
  8. latex--字母带箭头(markdown)
  9. java 方法名相同_Java的方法的重载 :方法名相同,参数类型不同 - Break易站
  10. 文本检测训练结果评测