前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android高德之旅(7)绘制点标记

Android高德之旅(7)绘制点标记

作者头像
大公爵
发布于 2018-09-05 09:20:49
发布于 2018-09-05 09:20:49
1.4K00
代码可运行
举报
文章被收录于专栏:葬爱家族葬爱家族
运行总次数:0
代码可运行

废话

本系列第7篇,终于讲到了绘制。说到吃饭...呸,说到绘制,这在地图应用中是非常重要的一部分,很多时候我们集成地图SDK时,都不可能仅仅使用默认地图元素,在默认元素不能满足需求时,绘制就派上了用场。这篇文章来记录下最简单的绘制点标记。

Marker和InfoWindow

点标记功能包含两大部分,一部分是点(俗称 Marker)、另一部分是浮于点上方的信息窗体(俗称 InfoWindow)。SDK 对 Marker 和 InfoWindow 封装了大量的触发事件,例如点击事件、长按事件、拖拽事件。

(1)添加一个marker

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
LatLng latLng = new LatLng(39.906901,116.397972);
MarkerOptions markerOptions = new MarkerOptions().position(latLng)
        .title("北京")
        .snippet("简单描述")
        .icon(BitmapDescriptorFactory.fromResource(R.drawable.custom_location_icon))
        .draggable(true)
        .visible(false)
        .anchor(0.5f, 1f)
        .alpha(0.8f);
marker = aMap.addMarker(markerOptions);

展示一个marker最基本的是要有一个经纬度,否则marker就不知道显示在哪里了。 其次还有很多有属性可以设置。

  • position 经纬度位置
  • title 标题
  • snippet 片段,可以理解成一个非常简短的描述
  • icon 自定义图标,如果不设置就展示默认的定位icon
  • draggable 是否可以拖拽
  • visible 是否可见
  • anchor 图标的中心点
  • alpha 透明度

(2)开始动画

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Animation animation = new RotateAnimation(0, 360, 0, 0, 0);
animation.setDuration(1000);
animation.setInterpolator(new LinearInterpolator());
marker.setAnimation(animation);
marker.startAnimation();

(3)Marker事件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 点击事件
aMap.setOnMarkerClickListener(new AMap.OnMarkerClickListener() {
    @Override
    public boolean onMarkerClick(Marker marker) {
        Log.e("TAG", "onMarkerClick:" + marker.getTitle());
        return false;
    }
});

// 拖拽事件
aMap.setOnMarkerDragListener(new AMap.OnMarkerDragListener() {
    @Override
    public void onMarkerDragStart(Marker marker) {
        Log.e("TAG", "onMarkerDragStart:" + marker.getTitle());
    }

    @Override
    public void onMarkerDrag(Marker marker) {
        Log.e("TAG", "onMarkerDrag:" + marker.getTitle());
    }

    @Override
    public void onMarkerDragEnd(Marker marker) {
        Log.e("TAG", "onMarkerDragEnd:" + marker.getTitle());
    }
});

(4)显示InfoWindow

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
marker.showInfoWindow();
// marker.hideInfoWindow();

总结

绘制是个大头,先开个简单的头,后面还有很多值得研究的点。本期节目就到这里,感谢大家的收看,我们下期再见~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.11.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android 高德地图API(详细步骤+源码)三
实际开发中都会对地图的点击和长按做处理,比如点击某一个地方获取经纬度,下面来操作一下吧。
晨曦_LLW
2021/02/24
4K0
Android 高德地图API(详细步骤+源码)三
Android高德之旅(4)我的位置
说到吃饭,最近刚开了一家...咳咳,说到位置定位,主要包含两部分,第一个是根据GPS获取经纬度,第二是根据经纬度获取省市区行政区划。先说第一个,使用过地图导航的都知道,定位我的位置通常是一个蓝色的箭头,在地图上移动,我们也来实现这个效果。
大公爵
2018/09/05
1.5K0
Android高德之旅(4)我的位置
Android 高德地图API(详细步骤+源码)四
首先要搞清楚什么是路线规划,比如有两个地点,A和B。从A到B有多种方路线和交通工具可以选择,这就是路线规划。
晨曦_LLW
2021/03/04
3.5K0
Android 高德地图API(详细步骤+源码)四
Android高德之旅(11)绘制海量点废话海量总结
第7篇说过绘制一个Marker,如果我要绘制多个Marker呢,很简单调用多次就可以了。但是如果绘制的数量非常大呢?大到成千上万,甚至好几万,普通绘制Marker的方式就不合适了。高德地图为我们提供了一个高性能的控件,可以绘制海量数据点。就是今天要说的MultiPointOverlay。
大公爵
2018/09/05
1.8K0
Android高德之旅(11)绘制海量点废话海量总结
Android MVVM框架搭建(九)TabLayout、ViewPager、城市地图天气切换
  在上一篇文章中完成了高德地图的使用及地图天气的显示,现在地图上可以查看当前的所在地天气,本文中将对国内其他城市进行切换,地图进行移动,天气查询。同时完成Fragment中再加载Fragment,通过TabLayout和ViewPager进行切换。
晨曦_LLW
2021/12/31
1.6K0
Android MVVM框架搭建(九)TabLayout、ViewPager、城市地图天气切换
高德地图——标记「建议收藏」
标记显示地图上的单一位置。它可以使用一个标准的图标,也可以由开发 者自定义图标。您可以通过 AMap.addMarker(MarkerOptions Options) 方 法将一个标记添加到地图上。 MarkerOptions属性有: • position(Required) 在地图上标记位置的经纬度值。 参数不能为空。 • title 当用户点击标记,在信息窗口上显示的字符串(测试发现,点击没有任何效果)。 • snippet 附加文本,显示在标题下方(测试发现,点击没有任何效果)。 • draggable 如果您允许用户可以自由移动标记,设置为“true ” ,默认情况下为“false ” 。 • visible 设置“false ” ,标记不可见。 • anchor图标摆放在地图上的基准点。 • perspective设置 true,标记有近大远小效果。 • 可以通过Marker.setRotateAngle() 方法设置标记的 旋转角度,从正北开始,逆时针计算。
全栈程序员站长
2022/08/31
2.6K0
高德地图——标记「建议收藏」
HarmonyOS Next 实现地图找房效果
常用的地图找房功能,是在地图上添加区域、商圈、房源等一些自定义 marker,然后配上自己应用的一些筛选逻辑构成,在这里使用鸿蒙 ArkUI 简单实现下怎么添加区域/商圈、房源等 Marker.
儿歌八万首
2025/03/13
1160
HarmonyOS Next 实现地图找房效果
Android高德之旅(17)出行路线规划废话简介总结
今天这篇来记录一下地图SDK中非常重要的一个功能:出行路线规划。我相信高德地图使用最多的也就是这个功能了,当然,我们今天的内容可能还做不到高德地图那么丰富的效果,比如林志玲娇嫩的语音指引你,但我们可以先做一个核心的功能就是把路线先画出来。
大公爵
2018/09/05
8750
Android高德之旅(17)出行路线规划废话简介总结
Android高德之旅(3)UI Setting
前两篇讲到了地图的基础显示和地图类型,今天来记录下高德地图交互相关的设置。地图的触摸事件很丰富,有单击、双击、单指拖拽、双指拖拽、双指旋转、双指缩放等,高德提供了api来设置这些用户交互,还包含地图截图,这也算是用户交互。好了,废话不多说,开始今天的Android高德之旅。
大公爵
2018/09/05
1.7K0
Android高德之旅(3)UI Setting
Android笔记:高德地图-点击获得目的经纬度,根据经纬度获取地址(逆地理编码)
首先要实现GeocodeSearch.OnGeocodeSearchListener接口
程思扬
2022/01/10
2K0
Android高德之旅(12)厉害了POI
前后两千万,拍照更清晰。大家好,这里是OPPO R11独家冠名赞助播出的大型情感类电视连续剧《Android高德之旅》,我是主持人大公爵。这期节目,我们来讲一下厉害的POI。
大公爵
2018/09/05
1K0
Android高德之旅(12)厉害了POI
Python地图绘制工具folium基础知识全攻略
之前我们介绍过《Python地图绘制工具folium更换地图底图样式全攻略》,今天我们就来学习基于folium进行地图绘制的基础知识点,让大家都可以用这个工具进行轻松的基于地图的可视化操作~
可以叫我才哥
2021/12/28
8.1K0
Python地图绘制工具folium基础知识全攻略
Android开发之高德地图实现定位
在应用开发中,地图开发是经常需要使用的“组件”,Google Map虽然有官方教程,无奈用不起来,原因你懂的~~那么国内比较出名的是就是百度地图和高德地图,由于个人喜好,所以选择了高德地图LBS,废话
YungFan
2018/04/24
2.5K0
Android开发之高德地图实现定位
Android 高德地图API(详细步骤+源码)五
现在来写这个驾车路线规划,步骤还是和前面的差不多,这回你都不用改布局了,加一个值,如下所示
晨曦_LLW
2021/03/04
2.3K3
Android 高德地图API(详细步骤+源码)五
Android Google Maps
  在国内你选择的SDK可以是高德、百度、腾讯等,但在国外,你首选肯定是谷歌,因此要进行Google地图的开发你首先要解决下面三个问题
晨曦_LLW
2024/11/28
4920
Android Google Maps
Android开发笔记(一百零三)地图与定位SDK
国内常用的地图SDK就是百度和高德了,二者的用法大同小异,可按照官网上的开发指南一步步来。下面是我在集成地图SDK时遇到的问题说明: 1、点击基本地图功能选项,不能打开地图,弹出“key验证出错!请在AndroidManifest.xml文件中检查key设置的”的红色字提示。查看日志提示“galaxy lib host missing meta-data,make sure you know the right way to integrate galaxy” 该问题是因为key值对应的签名与app打包用的签名不一致。app在开发时与发布时有两个不同的签名,开发时用的是ADT默认签名,查看默认签名的SHA1值可依次选择“Window”->“Preferences”->“Android”->“Build  SHA1 fingerprint”。app发布时的签名是密钥文件的签名,查看发布签名的SHA1值可依次选择“File”->“Export”->“Export Android Application”->“Next”后选择密钥文件并输入密码与app输出路径->在“Certificate fingerprints”下查看SHA1值。 2、百度地图SDK3.6及以上版本找不到overlayutil包。 这是因为新版SDK的jar包不再包含这部分源码,得到官方demo的src目录下获取源码加入到开发者自己的工程中,源码路径为:BaiduMap_AndroidMapSDK_v3.7.1_Sample\BaiduMapsApiDemo\src\com\baidu\mapapi 3、在一个工程中同时包含了百度地图和高德地图的sdk,编译时报错“Found duplicate file for APK: assets/lineDashTexture.png”。 这是因为百度和高德的sdk,其jar包存在同名文件“assets/lineDashTexture.png”,所以无法通过编译。即百度sdk与高德sdk是互斥的,不能同时存在于同个工程中,必须分开来使用。
aqi00
2019/01/18
1.7K0
Android高德之旅(13)公交搜索
在LBS系统中怎能少了公交这个角色,大多数城市中,主要的公共交通工具还是公交车,高德地图当然会有相应的api来查询公交信息,这篇文章就来记录下公交信息查询。
大公爵
2018/09/05
7940
Android高德之旅(13)公交搜索
百度地图开发之点聚合功能
从上面的这几张效果图,大家可以看到其实就是将一个区域内的点  聚合到一起,然后缩放可以改变区域内点显示效果。对于数据量比较大的功能来讲,显示效果会比较直观。
再见孙悟空_
2023/02/10
1.6K0
百度地图开发之点聚合功能
高质量编码--Excel POI点高德地图展示
Excel文件里记录着POI点信息(包含经纬度),这些记录也可以分类别保存在不同的sheet里。下面介绍如何根据sheet名称,自动把Excel里的点位信息在地图上分组点标记展示,地图展示选用高德地图API。
MiaoGIS
2023/01/18
9460
高质量编码--Excel POI点高德地图展示
Qt编写地图综合应用15-添加删除清空重置点
在地图应用的相关项目中,在地图上标识一些设备点,并对点进行交互这个功能用的最多的,于是需要一套机制可以动态的添加、删除、清空、重置,重置的意思是将地图中的所有点的经纬度重新设置,其实就是先清空然后挨个重新添加所有点的信息,JS的异步交互功能非常强大,直接执行对应的JS函数就可以,没有必要刷新网页,最开始很多年前做的时候还不会JS,那时候想的最糟糕的办法就是写死在代码中,这样每次变动需要重新加载网页,后面发现那真是糟糕的办法,既然有异步刷新的办法为何不用呢,自从学会了JS异步刷新方法以后,索性将各种方法都改成了JS函数,传入对应的参数即可,参数尽可能的考虑到已知的各种各样的情况,方便用户自己添加。
feiyangqingyun
2020/04/18
9340
Qt编写地图综合应用15-添加删除清空重置点
推荐阅读
相关推荐
Android 高德地图API(详细步骤+源码)三
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验