<td></td>
android-studio高德地图SDK在API 31以上崩溃的问题
firechun
原创
关注
7点赞·3074人阅读
以前在android app中使用地图时都是用的百度地图,新的项目需要使用高德地图。
按照高德地图的开发文档创建测试项目,导入依赖,很快就成功显示了地图,然后在退出地图Activity时,app立即崩溃,通过追踪,发现是在销毁地图时出现崩溃,即mapView.onDestroy()这行代码有问题。
反复查看文档和检查代码都找不到原因,下载高德地图SDK提供的DEMO测试时却发现,DEMO运行没有任何问题。比较DEMO和我的代码,显示地图的关键代码没有任何不同,实在不知道问题出在哪。
比较build.gradle时发现,DEMO的targetSdkVersion是26,我的targetSdkVersion是32,问题可能就出在这。百度到多个其他SDK在Android 11上崩溃的现象,可以通过在AndroidManifest.xml文件中加入android:allowNativeHeapPointerTagging="false"来解决,尝试在我的AndroidManifest.xml文件中也加入这一项,问题解决。
打开“百度地图生成器”的网址:http://api.map.baidu.com/lbsapi/creatmap/index.html在“1.定位中心点”中,切换城市,并查找具体位置
在“2.设置地图”中,可以按照自己的喜好修改地图的外观:
1、地图的宽和高
2、地图上显示的按钮(缩放、缩略图、比例尺)
3、鼠标和键盘对地图的 *** 作
在“3.添加标注”中,可以添加自己想要标注的位置和信息
在“第二步 获取代码”中,点击“获取代码”按钮,就会d出根据上面的设置生成代码
把上一步生成的代码保存为html文件(我这里保存为map.html),在浏览器中打开就可以看到自己定义的百度地图了。
如果要把地图添加到现有的网页中,可以使用iframe标签,如:
<iframe src="map.html" width="600" height="300" frameborder="0" scrolling="no"></iframe>
.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)