Android高德地图自定义Markers的例子

下文为各位重点介绍关于Android高德地图自定义Markers的例子,希望这篇文章能够让各位理解到Android高德地图自定义Markers的方法。

之前的博客里说了地图的嵌入和定位,今天就说说在地图上显示一些我们想要的。在地图中有自带的Markers(标记),但是它只显示一个椭圆的图标,一般是不符合我们的需求的,这样就要我们自己来自定义。首先标记有下面一些属性;

1.position(Required) 在地图上标记位置的经纬度值。参数不能为空。

2.title 当用户点击标记,在信息窗口上显示的字符串。

3.snippet 附加文本,显示在标题下方。

4.draggable 如果您允许用户可以自由移动标记,设置为“ true ”。默认情况下为“ false ”。

5.visible 设置“ false ”,标记不可见。默认情况下为“ true ”。

6.anchor图标摆放在地图上的基准点。默认情况下,锚点是从图片下沿的中间处。

7.perspective设置 true,标记有近大远小效果。默认情况下为 false。

8.可以通过Marker.setRotateAngle() 方法设置标记的旋转角度,从正北开始,逆时针计算。如设置旋转90度,Marker.setRotateAngle(90)

9.通过setFlat() 方法设置标志是否贴地显示

自定义图标通常由 BitmapDescriptor 设置。我们可以在类 BitmapDescriptorFactory 使用以下其中一种方法定义。

1.fromAsset(String assetName) 在 assets 目录中使用图像创建自定义标记。

2.fromBitmap (Bitmap image) 使用位图图像创建自定义标记。

3.fromFile (String path) 指定路径的文件创建自定义图标。

4.fromResource (int resourceId) 使用已经存在的资源创建自定义图标。先看一下要实现的效果:

地图自带标记  实现效果

实现思路是:自定义布局,获取数据填入相应位置,然后将view转成Bitmap,调用AMap.addMarker(markerOptions) 方法添加到地图上。

  1. 自定义布局并填充数据:

for (int i = 0; i < positionEneityList.size(); i++) {if (positionEneityList.get(i).getType().equals("1")) {View view = View.inflate(getActivity(),R.layout.view_day, null);TextView tv_price = (TextView) view.findViewById(R.id.tv_price);TextView tv_price_status = (TextView) view.findViewById(R.id.tv_price_status);tv_price.setText(positionEneityList.get(i).getPrice());tv_price_status.setText("元/时");Bitmap bitmap = CommentActivity.convertViewToBitmap(view);drawMarkerOnMap(new LatLng(Double.parseDouble(positionEneityList.get(i).getLatitude()), Double.parseDouble(positionEneityList.get(i).getLongitude())), bitmap, positionEneityList.get(i).getId());}}

2.转成Bitmap:

//view 转bitmappublic static Bitmap convertViewToBitmap(View view) {view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());view.buildDrawingCache();Bitmap bitmap = view.getDrawingCache();return bitmap;}

3.添加到地图上:

/*** 在地图上画marker** @param point      marker坐标点位置(example:LatLng point = new LatLng(39.963175,*                   116.400244); )* @param markerIcon 图标* @return Marker对象*/private Marker drawMarkerOnMap(LatLng point, Bitmap markerIcon, String id) {if (aMap != null && point != null) {Marker marker = aMap.addMarker(new MarkerOptions().anchor(0.5f, 1).position(point).title(id).icon(BitmapDescriptorFactory.fromBitmap(markerIcon)));return marker;}return null;}

这样就实现了上述效果。

转载于:https://www.cnblogs.com/zhujiabin/p/5564928.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaweb教务管理系统_基于Java web的教务管理系统

源码编号&#xff1a;B-E00033 点击查看(分类规则)项目类型&#xff1a;Java EE项目(非开源)项目名称&#xff1a;基于Java web的教务管理系统(TeachingSystem)当前版本&#xff1a;V1.0.1版本难度等级&#xff1a;✩✩复杂程度&#xff1a;✩✩ 点击查看难度等级用户类型&…

Science揭秘:为什么“好记性不如烂笔头”?

来源&#xff1a;中国生物技术网你还能记起你小学班长的名字吗&#xff1f;但我相信你肯定能记得同桌的名字&#xff0c;和与其共同经历的种种。但要再问你昨天新来同事的名字&#xff0c;你是否可以不假思索的回答出来&#xff1f;是不是有点儿困难&#xff1f;那为什么你能脱…

十个不可不看的Matlab GUI

截止到2012年6月2日&#xff0c;MatlabCentral上一共有1743个与"gui"有关的program。经过浏览前800个&#xff0c;选出以下比较有趣的程序。其中大部分没有经过测试&#xff0c;有可能无法使用或者功能不够理想&#xff0c;但至少可以作为一个starting point 吧。 Al…

C++链表插入节点函数为什么要传递头节点的二维指针

C链表插入一个节点的代码如下&#xff1a; struct ListNode {int m_value;ListNode * m_next; };void addListNode(ListNode** pHead, int value) {ListNode * pNew new ListNode();pNew->m_value value;pNew->m_next NULL;if (*pHead NULL){*pHead pNew;}else{Lis…

JAVA学习(十)__MessageFormat用法

MessageFormat用来格式化一个消息&#xff0c;通常是一个字符串&#xff0c;比如&#xff1a; String str "Im not a {0}, age is {1,number,short}", height is {2,number,#.#}; 而MessageFormat可以格式化这样的消息&#xff0c;然后将格式化后的字符串插入到模式…

中国机器人产业发展报告(2019)正式发布!

来源&#xff1a;世界机器人大会2019年8月25日&#xff0c;《中国机器人产业发展报告&#xff08;2019&#xff09;》于2019世界机器人大会闭幕式上正式发布&#xff0c;该报告为工业和信息化部2019-2021年财政专项《我国机器人产业发展水平评估体系构建与智能机器人产业链增长…

VS2013提示错误应输入表达式

原因是有些语句的空格为中文输入法下输入的空格&#xff0c;在提示错误的地方附近检查一下空格&#xff0c;最好把那附近的空格都用英文输入法再次输入一次

matlab/ansys协同的一个例子

前段时间找了点Matlab与ANSYS协同工作的资料&#xff0c;在我看来所谓协同是ANSYS将结果写到文件然后Matlab读&#xff0c;或者Matlab写数据到文件ANSYS读&#xff0c;协同是通过读写文件实现的。我找了个瞬态分析的例子&#xff0c;写了APDL&#xff0c;将网上找到的ANSYS结果…

security center拒绝访问_Steam被曝出0day提权漏洞,但厂商拒绝修复

近期&#xff0c;全球流行的Steam游戏客户端被曝出0day提权漏洞&#xff0c;影响全球一亿多Steam用户。该漏洞可让机器上的低权限用户以SYSTEM权限运行程序。这意味着恶意软件很可能利用这个漏洞对受害者的机器进行深度破坏。考虑到Steam是一款总用户1.2亿&#xff0c;日常在线…

赵老师_01

1、赵4 老师 课程&#xff0c;第2课 (VS2010) (Console的 空项目) 1.1、项目-->属性-->配置属性-->C/C -->预编译头&#xff1a;  不使用预编译头 1.2、项目-->属性-->配置属性-->C/C -->代码生成-->基本运行时检查&#xff1a;  默认值 1.3、项…

人工智能第一股“旷视科技”赴港递交IPO材料 半年亏损52亿估值280亿

来源&#xff1a; 人工智能和大数据8月25日&#xff0c;人工智能领域“独角兽”旷视科技正式向港交所递交IPO材料。招股书显示&#xff0c;旷视拟采用“同股不同权”方式上市&#xff0c;“同股不同权”股东为创始人兼CEO印奇以及两位联合创始人唐文斌、杨沐&#xff0c;三人占…

C++中set按降序排序

set一般插入元素时&#xff0c;默认使用关键字类型的< 运算符来比较两个关键字&#xff0c;故一般插入后为升序&#xff0c;举个例子&#xff1a; int main(int argc, char* argv[]) {set<int> s;s.insert(2);s.insert(1);s.insert(3);set<int>::iterator it …

matlab调用ansys-------1

1.版本&#xff1a;MATLAB R2014a ANSYS14.5 / MATLAB R2017a ANSYS17.0 2.思路&#xff1a;将MATLAB中的数据输出到shuju.txt中&#xff0c;用ANSYS读取shuju.txt后将计算计算结果输出到jieguo.txt中并将其返回到MATLAB中进行运算分析。 3.程序&#xff1a;在MATLAB中输入 …

python可以代替plc吗_PLC可以代替安全控制器吗?电气工程师告诉你

导读 国内的企业越来越重视设备的安全防护&#xff0c;可事故却频频发生&#xff0c;这是为什么呢&#xff1f;主要还是源自于大家对于安全防护知识上存在的诸多误区&#xff0c;比如很多人认为&#xff0c;稳定性高、性能强的PLC即可替代安全控制器的作用&#xff0c;其实这就…

php抽象 与接口

抽象方法和抽象类 PHP5支持抽象类和抽象方法。抽象类不能直接被实例化&#xff0c;你必须先继承该抽象类&#xff0c;然后再实例化子类。抽象类中 至少要包含一个抽象方法。如果类方法被声明为抽象的&#xff0c;那么其中就不能包括具体的功能实现。 继承一个抽象类的时候&…

C++ string转字符串

假设有一个string字符串&#xff0c;定义为string s "123"&#xff0c;则以下两种方法均可将其转换为char* s.c_str()s.data() 区别在于data除了返回字符串内容外&#xff0c;不附加结束符’\0’&#xff0c;而c_str()返回一个以‘\0’结尾的字符数组。 注意&…

Nature展示迄今为止最详细的“人脑零部件清单”

来源&#xff1a;中国生物技术网近日&#xff0c;美国艾伦脑科学研究所的一项新研究为我们展示了迄今为止最详细的“人脑零部件清单”&#xff0c;阐明了人类大脑皮层的细胞结构&#xff0c;它对于理解我们的认知能力和对疾病的易感性至关重要。该研究近日已发表在《Nature》上…

matlab调用ANSYS--------2

最近使用ANSYS计算温度场方面的东西&#xff0c;每次都要手动运行&#xff0c;自己处理计算结果。可怜无助的我深感劳累啊&#xff0c;最主要的是怎么能把我宝贵的时间用在重复的劳动中。so&#xff0c;出于懒的需要&#xff0c;查询了一些关于matlab调用ANSYS的资料&#xff0…

beautifulsoup网页爬虫解析_爬虫第三天——初识Xpath

解析神器Xpath&#xff1a;1. 什么是XpathXPath即为XML路径语言&#xff08;XML Path Language&#xff09;&#xff0c;它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构&#xff0c;提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一…

全球知名大学课件下载地址汇总

本文集合了美国众多知名大学的网上课程课件&#xff0c;不用花一分钱就能获得知名大学的前沿知识&#xff01;聪明的同学早就收藏转发啦 美国大学课件下载地址汇总 1、加州大学伯克利分校http://webcast.berke…