Android百度地图sdk设置Marker不同颜色

news2024/11/23 20:40:05

        使用百度地图sdk,在地图上画一个marker图标很简单,如下

    private fun drawMark(point: LatLng){
        var resId = R.mipmap.icon_device//这个资源是一张图片
        //构建Marker图标
        val bitmap = BitmapDescriptorFactory.fromResource(resId)
        //构建MarkerOption,用于在地图上添加Marker
        val option: OverlayOptions = MarkerOptions()
            .position(point)
            .icon(bitmap)
        //在地图上添加Marker,并显示
        var marker = binding.mapView.map.addOverlay(option)
    }

        但是,这个icon_device是mipmap文件夹下的一张图片。如果我需要根据不同的情况显示不同颜色同一张图片,那么一张png的图片就不能满足需求了。首先需要在drawable里添加vector文件,通过dataPath画图,使用dataPath的资源文件作为图片显示在地图上,获取之后更改颜色即可。具体代码如下

private fun drawColorMark(point: LatLng, colorStr: String, degree: Float){
        var resDrawable = ContextCompat.getDrawable(activity, R.drawable.ic_cell_tower)//这是一个dataPath画的资源文件
        
        resDrawable!!.setTint(Color.parseColor(colorStr))//通过setTint修改图片颜色
        var width = resDrawable!!.getIntrinsicWidth()
        var height = resDrawable!!.getIntrinsicHeight()
        var bitmap1 = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        var canvas = Canvas(bitmap1);
        resDrawable.setBounds(0, 0, width, height);
        resDrawable.draw(canvas);
        
        //构建Marker图标
        val bitmap = BitmapDescriptorFactory.fromBitmap(bitmap1)
        //构建MarkerOption,用于在地图上添加Marker
        val option: OverlayOptions = MarkerOptions()
            .position(point)
            .icon(bitmap)
            .rotate(degree)//设置图片旋转角度
        //在地图上添加Marker,并显示
        var marker = binding.mapView.map.addOverlay(option)
    }

使用同一张资源文件,设置不同的颜色和角度,可在地图上画图不同颜色,旋转不同角度的marker。即便是经纬度相同,如果角度不同,也不会产生图片覆盖的情况。

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

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

相关文章

计算机视觉:池化层的作用是什么?

本文重点 在深度学习中,卷积神经网络(CNN)是一种非常强大的模型,广泛应用于图像识别、目标检测、自然语言处理等领域。而池化层作为CNN中的一个关键步骤,扮演着优化神经网络、提升深度学习性能的重要角色。本文将深入探讨池化层的作用及其重要性,帮助读者更好地理解和应…

计算机网络 实验四 子网划分(网络层)

实验目的: 通过实验掌握下列知识: ① 熟悉子网掩码算法和网关,掌握子网划分方法。 ② 了解路由器的作用,掌握静态路由的基本配置。 实验过程分析: 静态路由基本配置 按照拓扑图接线【截图】。PC_1和PC_2设置IP地址…

实时美颜技术的崭新时代:美颜SDK开发与应用

美颜技术的崭新时代已经来临,实时美颜SDK的开发和应用成为数字世界中不可或缺的一部分。从社交媒体到视频直播,实时美颜技术已经在各种应用中取得了广泛成功,吸引了数百万用户。本文将深入探讨实时美颜技术的发展、SDK的开发,以及…

计算机网络 实验五 RIP与OSPF实验(网络层算法)

实验目的: 通过实验掌握下列知识: 1. 掌握RIP路由协议基本原理,熟悉RIP协议基本配置。 2. 掌握OSPF路由协议基本原理,熟悉配置单区域OSPF。 实验过程分析: RIP协议基本配置 按照拓扑图接线【截图】。对RTA进行RI…

java智慧停车系统源码

java智慧停车系统源码 技术架构: 后端开发语言java,采用最新springcloudalibaba版本开发,框架oauth2springboot2.6(可升级到3.0)doubble3.2,使用nacos, seata,sentinel,,数据库mysql/mongodb/…

【经验】解决重置 Windows 10 时报错:“无法找到介质” 的错误

按以下流程走: 管理员方式打开cmd输入命令: reagentc /info如果Enabled为空,则说明没有设置正确找到以下三个文件: WinRE.wimboot.sdiReAgent.XML 下载地址:http://www.winwin7.com/Soft/XTBD-555.html?_t1577956053 将这3个文…

Windows 10 用 Hyper-V 安装 Ubuntu

0、快速创建(已启用Hyper-V) (默认安装路径:C:\Users\Public\Documents\Hyper-V\Virtual hard disks) 可通过设置更改: 安装操作系统 1、启用 Windows 功能:Hyper-V 然后重启电脑 2、搜索 …

微信小程序开发者账号注册

✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 ✍️ 笔记简介:作为微信小程序云开发爱好者,以下是个人总结的学习笔记,如有错误,请多多指教!…

DDoS防护技术解析:深入了解当前的DDoS防护技术和方法

前言 网络安全已经成为每个企业和个人都不能忽视的问题。DDoS(分布式拒绝服务)攻击,作为一种常见的网络攻击方式,已经成为许多组织和个人的头痛之源。为了有效地应对这种攻击,各种DDoS防护技术和方法应运而生。 如果…

实验室超声波清洗机如何清洗PH电极?

PH电极是一个非常精确的检测元件,电极主要是玻璃电极作为测量电极,甘汞电极作为参考电极,如果PH电极被污染后,其敏感性会降低,稳定性会变差。所以对于PH清洁电极尤为重要。PH计电极的清洗方法有很多。最原始的清洗方法…

Android项目在 app 中通过 WebView 访问 url显示空白,使用浏览器可以打开,Android WebView加载出现空白页面问题解决

这是服务器证书校验WebView的安全问题 服务器证书校验主要针对 WebView 的安全问题。在 app 中需要通过 WebView 访问 url,因为服务器采用的自签名证书,而不是 ca 认证,使用 WebView 加载 url 的时候会显示为空白,出现无法加载网…

公众号留言功能怎么恢复?评论功能如何开启?

为什么公众号没有留言功能?2018年2月12日,TX新规出台:根据相关规定和平台规则要求,我们暂时调整留言功能开放规则,后续新注册帐号无留言功能。这就意味着2018年2月12日号之后注册的公众号不论个人主体还是组织主体&…

时间复杂度O(40n*n)的C++算法:修改图中的边权

本篇源码下载 点击下载 1.12.1. 题目 给你一个 n 个节点的 无向带权连通 图,节点编号为 0 到 n - 1 ,再给你一个整数数组 edges ,其中 edges[i] [ai, bi, wi] 表示节点 ai 和 bi 之间有一条边权为 wi 的边。 部分边的边权为 -1&#xff08…

CANoe创建仿真工程

CANoe创建仿真工程 写在前面仿真工程的创建创建工程添加CAN数据库添加系统变量创建面板创建网络节点为节点添加代码工程运行测试总结 写在前面 Canoe的安装不是特别方便,我是参加了松勤的培训课程,不仅需要安装软件还需要安装驱动,刚刚学习的…

YOLOv5算法改进(12)— 主干网络介绍(EfficientNetv2、Swin Transformer和PP-LCNet)

前言:Hello大家好,我是小哥谈。主干网络通常指的是深度学习中的主干模型,通常由多个卷积层和池化层组成,用于提取输入数据的特征。在训练过程中,主干网络的参数会被不断优化以提高模型的准确性。YOLOv5算法中的主干网络可以有多种替换方案,为了后面讲解的方便,本篇文章就…

Neural Improvement Heuristics for Graph Combinatorial Optimization Problems

Neural Improvement Heuristics for Graph Combinatorial Optimization Problems IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS 2023 摘要 图神经网络(GNN)架构的最新进展和增加的计算能力已经彻底改变了组合优化(CO&#…

Postgresql关于EOH的使用注意

注意通常拿到的指针不是EOH头 EOH是一种扩展数据结构,之前有几篇博客讨论过了,最近在改相关代码加深了一些理解。 EOH目前支持ER_methods、EA_methods两套实现,分别是record类型展开和数组类型展开。 在内存中的样子大概是(EA为…

环境下载地址

1. DOTNET环境下载 适用于 Visual Studio 的 .NET SDK 下载 (microsoft.com)https://dotnet.microsoft.com/zh-cn/download/visual-studio-sdks

springboot 智慧图书管理系统

springboot 智慧图书管理系统 liu1113625581

基于springboot实现校园闲置物品租售平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现校园闲置物品租售平台系统演示 摘要 在网络发展的时代,众多的软件被开发出来,给用户带来了很大的选择余地,而且人们越来越追求更个性的需求。在这种时代背景下,校园商家只能以用户为导向,以产品的持…