点击按钮调用uni.chooseLocation(OBJECT) 方法跳转到高德地图定位页面
- 发布:2022-04-18 15:02
- 更新:2024-08-13 14:17
- 阅读:3732
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win 10
HBuilderX类型: 正式
HBuilderX版本号: 3.3.13
手机系统: Android
手机系统版本号: Android 11
手机厂商: 小米
手机机型: Redmi k40 Pro
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
正常显示定位,并显示附近定位列表
正常显示定位,并显示附近定位列表
实际结果:
正常显示定位,附近定位列表无法加载,手动输入搜索无结果返回
正常显示定位,附近定位列表无法加载,手动输入搜索无结果返回
bug描述:
使用uni.chooseLocation(OBJECT) 方法跳转到高德地图定位页面后地图定位正常,下面地址列表不显示,输入搜索也一直在加载页面,无数据返回显示
3***@163.com (作者)
使用离线打包的方式:
-
下载最新的离线sdk Android版本 (版本号:Android-SDK@3.3.11.81232_20220210)
-
根据文档导入高德地图sdk, AMap3DMap_XXX_AMapSearch_XXX.jar(XXX为版本号),AMap_Location_XXX.jar,map-amap-release.aar,weex_amap-release.aar,geolocation-amap-release.aar。 实际文档只说明导入前3个sdk包??
如果不导入相关的sdk, 编译后地图定位页面会出现白屏的情况。报错日志为:当前运行的基座不包含原生插件[mapSearch],请在manifest中配置该插件,重新制作包括该原生插件的自定义运行基座 -
Android-SDK@3.3.11.81232_20220210 这个版本下面的SDK编译后运行崩溃
java.lang.NoSuchMethodError: No static method checkPrivacyComplianceAndPrompt(Landroid/content/Context;Ljava/lang/String;)V in class Lio/dcloud/common/util/AppRuntime; or its super classes (declaration of 'io.dcloud.common.util.AppRuntime' appears in /data/app/~~f2tSD4rVT6MUwsH1i1zZ6g==/com.jieyi.lnmst-KsHGLEwNYOd-HMI6s7Favg==/base.apk!classes3.dex) at io.dcloud.feature.weex_amap.component.WXAMapViewComponent.initComponentHostView(WXAMapViewComponent.java:189) at io.dcloud.feature.weex_amap.component.WXAMapViewComponent.initComponentHostView(WXAMapViewComponent.java:90) at com.taobao.weex.ui.component.WXComponent.createViewImpl(WXComponent.java:1549) at io.dcloud.feature.uniapp.ui.component.AbsVContainer.createViewImpl(AbsVContainer.java:189) at com.taobao.weex.ui.component.WXComponent.createView(WXComponent.java:1543) at io.dcloud.feature.uniapp.ui.component.AbsVContainer.createChildViewAt(AbsVContainer.java:280) at com.taobao.weex.ui.flat.WidgetContainer.createChildViewAt(WidgetContainer.java:82) at com.taobao.weex.ui.action.GraphicActionAddElement.executeAction(GraphicActionAddElement.java:197) at com.taobao.weex.ui.action.BasicGraphicAction.run(BasicGraphicAction.java:70) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:233) at android.app.ActivityThread.main(ActivityThread.java:8052) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
定位是weex_amap-release.aar SDK问题,更换了之前下载的旧版本的SDK(Android-SDK@3.1.2.80668_20210218)版本下面的该文件,高德地图定位页面显示正常。
3***@163.com (作者)
总结:
- 云打包后高德地图,地图显示正常,定位列表无法获取
- 离线打包后相同版本SDK下面的高德地图相关SDK导入后weex_amap-release.aar,导致应用闪退,确认下是否是兼容性问题,离线SDK版本(Android-SDK@3.3.11.81232_20220210)
离线打包环境:Android Studio 4.1.2
Gradle 6.7.1
App配置:minSdkVersion 21
targetSdkVersion 30