美文网首页
高德地图开发:点击 Marker(或气泡)跳转到其它地图,以及开

高德地图开发:点击 Marker(或气泡)跳转到其它地图,以及开

作者: 李世德Str | 来源:发表于2017-12-27 18:33 被阅读0次

    高德地图开发:点击 Marker(或气泡)跳转到其它地图,以及开发中问题解决

    高德地图,在点击 Marker 上的气泡可以跳转到手机中的地图进行导航。

    1. 设置地图 InfoWindow 点击事件监听,并实现AMap.OnInfoWindowClickListener
    aMap?.setOnInfoWindowClickListener(this)
    
    1. 处理点击事件
    /**
     * 对InfoWindow点击响应事件
     */
    override fun onInfoWindowClick(p0: Marker?) {
        try {
            val uri = Uri.parse("geo:$lat,$lng?q=$address")
            val intent = Intent(Intent.ACTION_VIEW, uri)
            this.startActivity(intent)
        } catch (e: Exception) {
            Toast.makeText(getApplication(), "沒有地图应用", Toast.LENGTH_SHORT).show()
        }
    }
    

    其实,为什么要在点击 marker 或 InfoWindow 的时候才响应事件呢?任何地方都行啊,好吧,真尴尬 ̄□ ̄||

    在高德地图开发中遇到一个坑是:进入地图时奔溃,检查了所有的.so文件,都没问题也没解决,最后发现是混淆代码的问题。这里要吐槽一下,高德地图没有提供他们的代码混淆规则!!!

    分享出我自己添加的Amap ProGuard rules,不确定是否完全,暂未发现问题。

    ################# 高德相关混淆文件 #################
    -dontwarn com.amap.api.**
    -dontwarn com.autonavi.**
    -dontwarn com.a.a.**
    -keep class com.amap.api.**  {*;}
    -keep class com.autonavi.**  {*;}
    -keep class com.a.a.**  {*;}
    -keep class com.amap.api.services.**{*;}
    

    使用的版本是com.amap.api:3dmap:5.6.0,于 2017-12 开发。

    相关文章

      网友评论

          本文标题:高德地图开发:点击 Marker(或气泡)跳转到其它地图,以及开

          本文链接:https://www.haomeiwen.com/subject/gwwugxtx.html