Android 高德地图定位以及自定义定位图标的显示

由于高德地图中默认的定位图标是高德地图的logo,我这边想要换一种图标,就有了新的需求。

首先先设置定位相关信息

下面代码之前确认地图控件已经被初始化。

/*** set map info*/private void setUpMapLocationMine() {mAmap.setLocationSource(mLocationSource);// setting location listenermAmap.getUiSettings().setMyLocationButtonEnabled(false);// 设置默认定位按钮是否显示 这里我这边有自定义的按钮,所以就不显示高德自带的了mAmap.setMyLocationEnabled(true);// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是falsemAmap.setMyLocationType(AMap.MAP_TYPE_NORMAL);// 设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);//设置定位间隔,单位毫秒,默认为2000msmLocationOption.setInterval(2000);// 获取一次定位结果: //该方法默认为false。mLocationOption.setOnceLocation(false);mLocationOption.setOnceLocationLatest(false);//设置是否允许模拟位置,默认为false,不允许模拟位置mLocationOption.setMockEnable(false);mlocationClient.setLocationOption(mLocationOption);mlocationClient.startLocation();// 如果要设置定位的默认状态,可以在此处进行设置myLocationStyle = new MyLocationStyle();// 如果可以就将用户的图片传到这个bitmapmyLocationStyle.myLocationIcon(BitmapDescriptorFactory.fromResource(R.drawable.marker_scenic_spot_mine_location_icon));myLocationStyle.strokeColor(Color.argb(0, 0, 0, 0));// 设置圆形的边框颜色myLocationStyle.radiusFillColor(Color.argb(0, 0, 0, 0));// 设置圆形的填充颜色myLocationStyle.anchor(0.5f,0.576f); // 这个数值是根据我的图片显示的时候计算的,最好是0.5 0.5
//        myLocationStyle.strokeColor(Color.argb(19, 73, 190, 255));// 设置圆形的边框颜色 rgba(73, 190, 255, 19)
//        myLocationStyle.radiusFillColor(Color.argb(19, 73, 190, 255));// 设置圆形的填充颜色mAmap.setMyLocationStyle(myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER)); // 类型是定位旋转当不居中显示}

这个是显示我的位置的图标,由于我的图标有范围就不需要圆形和填充圆形的布局了 所以我设置为0.

这个箭头朝上是因为定位有旋转的功能,如果箭头不是朝上就不准确,高德那边给的方向应该默认就是朝上的,然后根据朝上来根据手机旋转来旋转角度的。
上面通过MyLocationStyle中的myLocationIcon设置定位图片就可以正常的设置了定位的图片。

上面是初始化一些定位的信息,下面是定位中用到的一些监听:

 LocationSource mLocationSource = new LocationSource() {@Overridepublic void activate(OnLocationChangedListener onLocationChangedListener) {mListener = onLocationChangedListener;if (mlocationClient == null) {mlocationClient = new AMapLocationClient(mContext);mLocationOption = new AMapLocationClientOption();mlocationClient.setLocationListener(mapLocationListener);mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);mlocationClient.setLocationOption(mLocationOption);mlocationClient.startLocation();}}@Overridepublic void deactivate() {mListener = null;if (mlocationClient != null) {mlocationClient.stopLocation();mlocationClient.onDestroy();}mlocationClient = null;}};AMapLocationListener mapLocationListener = new AMapLocationListener() {@Overridepublic void onLocationChanged(AMapLocation amapLocation) { // 定位信息有变动就会调用这个方法 正常情况会每两秒调用一次,因为上面设置是两秒更新一次if (mListener != null && amapLocation != null) {if (amapLocation != null && amapLocation.getErrorCode() == 0) { // 定位获取位置成功mListener.onLocationChanged(amapLocation);// show system blue spot} else {if (GPSUtils.isOPen(mContext)){ToastUtils.showText(mContext, "定位失败,当前GPS信号弱");} else {ToastUtils.showText(mContext, "定位失败,请打开GPS位置权限");}}}}};

以上就是定位需要用的全部。
高德地图小知识。共勉

Android 高德地图自定义定位图标的显示相关推荐

  1. android呼吸灯动画,Android高德地图自定义定位蓝点实现呼吸灯功能

    还是先上个图吧: cluster.gif 说下实现的原理,首先这个定位小蓝点是由两张图片组成的,最底层的一张白色圆形图片以及上一层的蓝色圆形图片,只要不停的对蓝色图片进行透明度动画操作就可以实现这个效 ...

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

    下文为各位重点介绍关于Android高德地图自定义Markers的例子,希望这篇文章能够让各位理解到Android高德地图自定义Markers的方法. 之前的博客里说了地图的嵌入和定位,今天就说说在地 ...

  3. Android高德地图自定义Mark并实现聚合效果

    Android高德地图自定义Mark并实现聚合效果 起因:公司本来项目里面用到了高德地图,然后最近老板看见别人的APP里面有个聚合的这个功能,老板:"这个效果能不能实现,我也要!" ...

  4. Android 高德地图自定义线路规划选择方案之后按照方案进行导航

    Android 高德地图自定义线路规划选择方案之后按照方案进行导航 因为我这边导航需求的问题,导致我这边不能使用高德地图官方的线路规划和导航.所以我这边线路规划和导航界面都是根据高德地图那边给的api ...

  5. android高德地图默认当前位置,【报Bug】1.9.2 android 高德地图无法定位到当前位置...

    详细问题描述 (DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题) [内容] 1.9.2版本 a ...

  6. Android 高德地图(带有定位和点击显示经度纬度)

    Android高德地图测试,如下: 1.Android高德地图Demo地址下载:       下载android高德地图Demo 1.2 Android定位SDK 一键下载 1.3 下载好的文件zip ...

  7. android开发之高德地图不能定位,只显示格子

    android 在引用高德地图组件进行开发的时候,不能定位,只显示格子,如下图所示: 参考了网上的一下大家的解决方案,主要是 (1)检查申请的KEY是否正确.PS:申请方法请参考这篇博客,写的很全很详 ...

  8. android百度地图更换定位图标,android百度地图定位,改变MyLocationOverlay默认图标(原始为蓝色点)(两种方法)...

    开放地图API无外乎google ,百度,高德等.其它的还有很多,不过比较好用的就这三种了,如果不需要出国(台湾例外),则最好使用百度地图,性能比高德好的多,无聊的时候自己可以测试测试.. 下面我简单 ...

  9. 高德地图去掉定位按钮_高德地图自定义定位按钮及点击事件

    最近使用了一下高德地图,使用期间将出现的问题记录一下.文中出现不对的地方,悉听各路大神指正.2018年11月23日15:59:46 1.首先我们初始化map控制对象aMap .if (aMap ==n ...

  10. Android 高德地图的定位,周边搜索

    刚弄完这两个功能,当然是结合官网例子实现的.效果还行,稍作优化便可整合到app使用.在这里做一下总结,及说明下我的思路. 刚开始上手感觉比较乱学起来也比较累,方法,类太多,直接复制各种错,还不知道为什 ...

最新文章

  1. 网络营销外包期间站长如何挖掘用户真实需求探索网络营销外包真谛
  2. 36. Valid Sudoku数独判断
  3. 浙大计算机知识基础,计算机基础知识题浙大远程
  4. MySQL调优(四):MySQL索引优化实现细节
  5. 36/100. Generate Parentheses
  6. 数人云牵手红帽Ansible:七大最佳实践解锁DevOps落地姿势
  7. 混合多云架构_使用混合多云每个人都应避免的3个陷阱(第3部分)
  8. 因DataValueField设置不当引起的DropDownList的SelectedItem的取不到所选值的问题
  9. Spring AOP 本质(1)
  10. CommonAPI编写代码
  11. Python排序算法(四)——插入排序
  12. vue3 + vite +ts 引入静态图片
  13. 如何在Chrome(或任何浏览器)中编辑任何网页
  14. python线程池学习
  15. 迅捷pdf转换器完美解决如何将pdf转换成word问题
  16. 求最小码距 (10 分)
  17. CTF-练习平台-Misc之 MISC图穷匕见
  18. 数字滚动插件——CountUp.js
  19. 基于php的网络数据包分析工具的设计与开发
  20. 【转】cpu降频问题

热门文章

  1. Apache开启rewrite重写模块
  2. 《英语语法新思维初级教程》学习笔记(五)形容词
  3. 用vim解压各种格式
  4. HTML5、CSS、JS基础
  5. 海归首选“北上广” 薪资期望不太高 元芳你怎么看?
  6. Python指纹识别
  7. 3个步骤+1个模型,「数据分析」才是「增长黑客」的核心技能
  8. python爬虫实战:爬取我的博客文章并将文章写入至我的Mysql数据库
  9. Batman+joker乱谈
  10. RCNN 的 Hard Negative Mining的原理