当前位置: 首页 > news >正文

高德地图android sdk(备忘)

依赖

// 权限请求框架: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

相关文章:

  • 科普:“Docker Desktop”和“Docker”以及“WSL”
  • Windows桌面系统管理6:计算机故障排查
  • 组合总和力扣--39
  • 如何安装虚拟机cenos7系统
  • Unity 聊天气泡根据文本内容适配
  • 解锁 AIoT 无限可能,乐鑫邀您共赴 Embedded World 2025
  • 当使用vcpkg安装的qt5时,在VS调用出现libcrypto-*-x64.dll不是有效路径时
  • Design Compiler:边界优化(Boundary Optimization)
  • nginx ngx_http_module(7) 指令详解
  • 从函数到神经网络
  • 解锁机器学习核心算法 | K-平均:揭开K-平均算法的神秘面纱
  • Unity性能优化个人经验总结(不定期更新)
  • 如何在本机上模拟IP地址
  • 金融交易算法单介绍
  • 在系统中如何集成限流组件单机和集群
  • 车载音频配置(二)
  • 基于javaweb的SpringBoot校园二手商品系统设计和实现(源码+文档+部署讲解)
  • 使用 NVM 随意切换 Node.js 版本
  • .NET周刊【2月第2期 2025-02-09】
  • Linux基础25-C语言之分支结构Ⅱ【入门级】
  • 数说母亲节|全球11亿女性进入更年期,“不是忍忍就好”
  • 哈尔滨工业大学原副校长王魁业逝世,享年92岁
  • 5天完成1000多万元交易额,“一张手机膜”畅销海内外的启示
  • 上海:企业招用高校毕业生可享受1500元/人一次性扩岗补助
  • 75岁亚当·费舍尔坐镇,再现80分钟马勒《第九交响曲》
  • 股价两天涨超30%,中航成飞:不存在应披露而未披露的重大事项