今天领导提了个需求,就是地图上的大头针太过密集的时候,点哪个大头针不清楚,需要我把大头针更换个图片或者把原来的大头针变大来区别到底点击的是哪个。
需求来了就开始完成需求吧,因为对安卓真的不熟悉,加上安卓的API看着真是费劲,压根没有iOS那样有明确的备注,哪个方法是干什么的,哪个参数代表什么意思,我只能上网搜了,结果搜了半天全是不相干的东西,真是尼玛蛋的,一群鸟人,无力吐槽,靠自己吧。
点击前的效果图

点击后大头针的效果图

这样就实现了点击大头针的时候更换大头针的效果。
第一步先要在地图上添加大头针,下面是代码。

MarkerOptions markerOptions = new MarkerOptions();LatLng sourceLatLng = new LatLng(Double.valueOf(paieInfo.latitude), Double.valueOf(paieInfo.longitude));markerOptions.position(new LatLng(desLatLng.latitude, desLatLng.longitude));markerOptions.title(paieInfo.name);markerOptions.draggable(true);BitmapFactory.Options options = new BitmapFactory.Options();options.outHeight = 5;options.outWidth = 5;Bitmap bit = BitmapFactory.decodeResource(getResources(), R.drawable.electricize_icon, options);BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bit);markerOptions.icon(bitmapDescriptor);Marker marker = aMap.addMarker(markerOptions);marker.setObject(paieInfo);

然后是点击大头针的点击方法

@Override
public boolean onMarkerClick(final Marker marker) {
//这个方法是设置被点击marker更换图片,也就是上面图片点击大头针之后图片变大来做区别。   marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.electricize_icon1));
currentMarker = marker;
}

第三步就是点击地图把大头针的图片换成原来的图片

@Override
public void onMapClick(LatLng latLng) {
    if (currentMarker != null) {
        currentMarker.hideInfoWindow();
//这个判断是因为地图刚显示出来,如果点击定位的用户蓝点,会把蓝点变成自己设置的大头针图标,判断的思路是 把点击过后marker 经纬度 和 当前定位用户的经纬度进行对比,如果相等,点击的就是用户的蓝点,如果不是就把大头针的图标变成原来的图片。
        if (Double.valueOf(((PaieInfo) currentMarker.getObject()
        ).latitude) == startPoaint.latitude) {

        } else {
            currentMarker.setIcon(BitmapDescriptorFactory.fromResource(R
                    .drawable.electricize_icon));
        }
    }
}

这三步就是 添加大头针到地图-> 点击大头针更换大头针图片-> 点击地图在换成大头针之前的图片

在开发过程中遇到了一个情况,至今没有解决,就是添加大头针之后我如果点击大头针会从底部弹出一个视图,这没有问题,但是当我点击定位用户的蓝点时候也会弹出,这让我很苦恼,搜了半天也看了文档没有发现有什么可以判断的,目前的解决方案就是等请求到数据以后在弹出底部视图,如果有哪位大神知道解决办法的,请下面留言,谢谢,博客写的不好,多担待。

Android高德地图点击大头针更换大头针图片相关推荐

  1. Android高德地图如何修改InfoWindow的背景图片.

    1.重写InfoWindow的适配器方法 aMap.setInfoWindowAdapter(new AMap.InfoWindowAdapter() {@Override public View g ...

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

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

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

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

  4. Android 高德地图给指定坐标显示图片,以及聚合显示

    官网实例请点击:Android 高德地图聚合官网 下面是一个案例: 效果图: MainActivity public class MainActivity extends AppCompatActiv ...

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

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

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

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

  7. 大屏页面使用transform属性scale进行缩放,高德地图点击事件失效,地图展示模糊

    这里写自定义目录标题 大屏页面使用transform属性scale进行缩放,高德地图点击事件失效,地图展示模糊 1.大屏缩放自适应时使用tansform scale 缩放 1.1.window.res ...

  8. android 高德地图SDK报 KEY鉴权失败

    android 高德地图SDK报 KEY鉴权失败. 一般在项目被转移,或项目使用的SDK被其他项目使用时,会发生这种情况! 解决办法 进入高德地图api控制台 点应用管理-我的应用-创建应用 - 根据 ...

  9. java实现高德地图app,Android 高德地图入门demo,最新高德地图实现方法,附源码及apk...

    [实例简介] Android 高德地图入门demo,最新高德地图实现方法,附源码及apk [实例截图] [核心代码] GaoDeDemo ├── GaoDeDemo │   ├── app │   │ ...

  10. Android 高德地图中路线规划绘制界面线路

    Android 高德地图中路线规划绘制界面线路 下面代码是根据很多的经纬度的点,绘制出直线的线路.比较死板 /*** 绘制景区的路线*/private void setRouteInfo(List&l ...

最新文章

  1. 无惧灵魂拷问!淘宝扫一扫助你不再扔错垃圾!
  2. java 设置日期的格式_java时间格式大全
  3. 数据挖掘 —— 数据预处理
  4. mysql最大述_mysql最大字段数量及 varchar类型总结
  5. 强烈推荐一位大佬,知名银行风控分析师,学习是一辈子的事!
  6. 有初学的同学问你为什么Java的main方法必须是public static void?请告诉ta!
  7. 运维管理工具-- Deploy Assistant
  8. 代码太烂,可能是他离职的原因吧!
  9. Python练习:快乐的数字
  10. 使用 Spring Boot Security 进行安全控制
  11. Hobject 与 OpenCV IplImage 和 Mat 的相互转换
  12. NFinal ajax
  13. Git安装配置与GitHub注册及简单使用
  14. 第三章: 微信小程序底部导航栏的实现(详细)
  15. UnavailableInvalidChannel: The channel is not accessible or is invalid. channel name: conda-forg ch
  16. python制作口算大师
  17. 用matlab拟合多元函,使用matlab进行多元非线性拟合的方法
  18. vb中Msgbox函数的应用。
  19. 随笔---Beego中的routers包个人的理解
  20. Python摇骰子-A05

热门文章

  1. JavaScript系列(2)内置对象:Date
  2. 正点原子的串口助手XCOM V2.0编码问题
  3. MIPI CSI-2笔记(10) -- Low Level Protocol(延迟降低、传输效率增强特性LRTE)
  4. 额~~~字符表情大全(写博客需要)
  5. java游戏征途2008_醉剑逍遥-征途天下
  6. 构造Dominator Tree以及Dominator Frontier
  7. druid Hadoop-based Batch Ingestion
  8. Anaconda创建Pytorch虚拟环境(排坑详细)
  9. HTML之表单元素“Password”引发的思考-你的密码安全吗???
  10. 白鹭php源码,看源码系列之从运行流程开始-Egret社区-教程文档-白鹭引擎-Egret Engine-免费开源HTML5游戏引擎 - Powered by Discuz!...