高德地图android sdk(备忘)

news/2025/2/21 2:48:05

依赖

// 权限请求框架:https://github.com/getActivity/XXPermissions
implementation 'com.github.getActivity:XXPermissions:20.0'
// https://mvnrepository.com/artifact/com.amap.api/navi-3dmap-location-search
implementation 'com.amap.api:navi-3dmap-location-search:10.0.800_3dmap10.0.800_loc6.4.5_sea9.7.2'

CoreUtil封装一些方法

  • ref link: https://gitee.com/EEPPEE_admin/amap-android-sdk-memo

显示地图

  • https://lbs.amap.com/api/android-sdk/guide/create-map/show-map
private val mMapView: MapView by lazy { findViewById(R.id.map) }
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    enableEdgeToEdge()
    setContentView(R.layout.activity_main)
    ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
        val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
        v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
        insets
    }

    CoreUtil.initPermission(this)
    CoreUtil.initGaodeAllPrivacyFirst(this, true, true, true)
    // 必须先调用高德隐私合规,再设置onCreate
    mMapView.onCreate(savedInstanceState)
    // 显示地图就这一句话
    if (mAmap == null) {
        mAmap = mMapView.map
    }
}

显示定位蓝点

  • https://lbs.amap.com/api/android-sdk/guide/create-map/mylocation
  • 在显示地图的基础下面再添加
val myLocationStyle: MyLocationStyle = MyLocationStyle()
myLocationStyle.interval(2000)
mAmap?.myLocationStyle = myLocationStyle
mAmap?.isMyLocationEnabled = true

// 在CoreUtil.kt封装一个方法

显示3d地形图

  • https://lbs.amap.com/api/android-sdk/guide/create-map/terrain
#注意在MapView初始化前调用
MapsInitializer.setTerrainEnable(true)

显示室内地图

  • https://lbs.amap.com/api/android-sdk/guide/create-map/indoor
amapinstance.showIndoorMap(true)  

设置地图图层

  • https://lbs.amap.com/api/android-sdk/guide/create-map/set-maptype
amapinstance.mapType = AMap.MAP_TYPE_NIGHT
// ...

离线地图

  • https://lbs.amap.com/api/android-sdk/guide/create-map/offline-map
// 注册高德的Activity后,跳转即可
startActivity(Intent(this, com.amap.api.maps.offlinemap.OfflineMapActivity::class.java))

显示英文

  • https://lbs.amap.com/api/android-sdk/guide/create-map/english-map
amapinstance.apply {
    isTrafficEnabled = true
    setMapLanguage("en")
}

添加marker

  • https://lbs.amap.com/api/android-sdk/guide/draw-on-map/draw-marker
 fun addMarkerOnAMap(aMap: AMap) {
        val latLng = LatLng(39.906901, 116.397972)
        val marker = aMap.addMarker(
            MarkerOptions()
                .position(latLng)
                .title("北京")
                .snippet("地道滴滴滴大豆")
                .setFlat(true)
        )

        val anim = RotateAnimation(marker.rotateAngle, marker.rotateAngle + 180)
        val duration = 1000L
        with(marker) {
            anim.setDuration(duration)
            anim.setInterpolator(LinearInterpolator())
            setAnimation(anim)
            startAnimation()
        }
    }

绘制线

  • https://lbs.amap.com/api/android-sdk/guide/draw-on-map/draw-polyline
 fun drawLineOnAMap(aMap: AMap) {
        val latLngs = listOf(
            LatLng(39.999391, 116.135972),
            LatLng(39.898323, 116.057694),
            LatLng(39.900430, 116.265061),
            LatLng(39.955192, 116.140092)
        )

        val polyline = aMap.addPolyline(
            PolylineOptions()
                .addAll(latLngs)
                .width(25f)
                .color(Color.argb(255, 1, 1, 1))
        )
    }

题外话

  • 一般添加jitpack.io(只要链接不死)
  • 建议添加android.enableJetifier=true

http://www.niftyadmin.cn/n/5860128.html

相关文章

当Qt遇见IOCP:用C++打造高并发服务器

一、为什么选择IOCP技术? 在Windows平台开发高并发网络服务时,许多开发者都会遇到这样的困境:当需要同时处理成千上万的客户端连接时,传统的select模型或普通线程池方案会遭遇性能瓶颈。这正是IOCP(Input/Output Comp…

从猜想终结到算法革新,弹性哈希开启数据存储新篇章

目录 哈希表的前世今生基本原理从传统到现代:哈希表的演变历程 安德鲁 克拉皮文及其团队的创作历程弹性哈希详解基本原理优点技术细节 漏斗哈希解析基本原理优点技术细节 新算法的实际应用案例电子商务推荐系统金融交易监控系统社交媒体内容过滤物联网设备管理 结论…

RT-Thread+STM32L475VET6实现红外遥控实验

文章目录 前言一、板载资源介绍二、具体步骤1. 确定红外接收头引脚编号2. 下载infrared软件包3. 配置infrared软件包4. 打开STM32CubeMX进行相关配置4.1 使用外部高速时钟,并修改时钟树4.2 打开定时器16(定时器根据自己需求调整)4.3 打开串口4.4 生成工程 5. 打开HW…

【数据分析】2.数据分析业务全流程

业务流程方法论:3阶段6步骤 一、课程核心内容结构 1. 方法论概述 目标:系统性地解决商业中的关键问题框架:分为三个阶段,每个阶段包含两个步骤适用场景:适用于数据分析师、业务经理等需要通过数据分析支持决策的从业…

Excel核心函数VLOOKUP全解析:从入门到精通

一、函数概述 VLOOKUP是Excel中最重要且使用频率最高的查找函数之一,全称为Vertical Lookup(垂直查找)。该函数主要用于在数据表的首列查找特定值,并返回该行中指定列的对应值。根据微软官方统计,超过80%的Excel用户在…

「正版软件」PDF Reader - 专业 PDF 编辑阅读工具软件

PDF Reader 轻松查看、编辑、批注、转换、数字签名和管理 PDF 文件,以提高工作效率并充分利用 PDF 文档。 像专业人士一样编辑 PDF 编辑 PDF 文本 轻松添加、删除或修改 PDF 文档中的原始文本以更正错误。自定义文本属性,如颜色、字体大小、样式和粗细。…

GPT-SoVITS更新V3 win整合包

GPT-SoVITS 是由社区开发者联合打造的开源语音生成框架,其创新性地融合了GPT语言模型与SoVITS(Singing Voice Inference and Timbre Synthesis)语音合成技术,实现了仅需5秒语音样本即可生成高保真目标音色的突破。该项目凭借其开箱…

昇腾DeepSeek模型部署优秀实践及FAQ

2024年12月26日,DeepSeek-V3横空出世,以其卓越性能备受瞩目。该模型发布即支持昇腾,用户可在昇腾硬件和MindIE推理引擎上实现高效推理,但在实际操作中,部署流程与常见问题困扰着不少开发者。本文将为你详细阐述昇腾 De…