uni-app 高德地图离线打包安卓端选择位置地图不显示地点

发布于 1周前 作者 wuwangju 来自 Uni-App

uni-app 高德地图离线打包安卓端选择位置地图不显示地点

开发环境 版本号 项目创建方式
Windows windows10 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

HBuilderX类型:正式

HBuilderX版本号:3.6.18

手机系统:Android

手机系统版本号:Android 12

手机厂商:小米

手机机型:ReadMi K30

页面类型:vue

vue版本:vue2

打包方式:离线

项目创建方式:HBuilderX

示例代码:

uni.chooseLocation({ type:‘gcj02’, success(res) { console.log(res) that.storeAddress=res.address that.address = res.name } }) android studio Log如下 2023-12-14 15:16:09.183 31433-31433/com.rongbang.taiqiuting E/UIWidgetMgr: new – JSNWindow= 2023-12-14 15:16:09.206 31433-31433/com.rongbang.taiqiuting D/DecorView[PandoraEntryActivity]: getWindowModeFromSystem windowmode is 1 2023-12-14 15:16:09.206 31433-31433/com.rongbang.taiqiuting D/DecorView[PandoraEntryActivity]: updateDecorCaptionStatus displayWindowDecor is false 2023-12-14 15:16:09.217 31433-31433/com.rongbang.taiqiuting W/cr_AwContents: Application attempted to call on a destroyed WebView java.lang.Throwable at org.chromium.android_webview.AwContents.r(Unknown Source:12) at com.android.webview.chromium.WebViewChromium.addJavascriptInterface(Unknown Source:26) at android.webkit.WebView.addJavascriptInterface(WebView.java:1928) at miui.contentcatcher.sdk.utils.WebViewUtils$NativeWebViewUtils.addJavascriptInterface(WebViewUtils.java:244) at miui.contentcatcher.sdk.utils.WebViewUtils.initWebViewJsInterface(WebViewUtils.java:157) at miui.contentcatcher.InterceptorProxy$1.run(InterceptorProxy.java:193) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:210) at android.os.Looper.loop(Looper.java:299) at android.app.ActivityThread.main(ActivityThread.java:8337) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1037) 2023-12-14 15:16:09.232 31433-31478/com.rongbang.taiqiuting E/weex: end getBundleType type:Vue time:0 2023-12-14 15:16:09.235 31433-31478/com.rongbang.taiqiuting E/timeline: createInstance :1702538169235 2023-12-14 15:16:09.236 31433-31481/com.rongbang.taiqiuting I/jse_precompilejs: 5 2023-12-14 15:16:09.306 31433-31433/com.rongbang.taiqiuting E/WXAMapViewComponent: Create MapView io.dcloud.feature.weex_amap.adapter.WXMapView{2d11a30 I.E… …I. 0,0-0,0} 2023-12-14 15:16:09.307 31433-31433/com.rongbang.taiqiuting W/weex: BasicGraphicActionjava.lang.NoSuchMethodError: No virtual method addOnMarkerClickListener(Lcom/amap/api/maps/AMap$OnMarkerClickListener;)V in class Lcom/amap/api/maps/AMap; or its super classes (declaration of ‘com.amap.api.maps.AMap’ appears in /data/app/~/com.rongbang.taiqiuting-0VLCp6DhzwRfwPKB7g3Ydg==/base.apk) at io.dcloud.feature.weex_amap.component.WXAMapViewComponent.initMap(WXAMapViewComponent.java:305) at io.dcloud.feature.weex_amap.component.WXAMapViewComponent.createMap(WXAMapViewComponent.java:219) at io.dcloud.feature.weex_amap.component.WXAMapViewComponent.initComponentHostView(WXAMapViewComponent.java:192) at io.dcloud.feature.weex_amap.component.WXAMapViewComponent.initComponentHostView(WXAMapViewComponent.java:88) at com.taobao.weex.ui.component.WXComponent.createViewImpl(WXComponent.java:1691) at io.dcloud.feature.uniapp.ui.component.AbsVContainer.createViewImpl(AbsVContainer.java:189) at com.taobao.weex.ui.component.WXComponent.createView(WXComponent.java:1685) 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:71) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:210) at android.os.Looper.loop(Looper.java:299) at android.app.ActivityThread.main(ActivityThread.java:8337) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1037) 2023-12-14 15:16:09.336 31433-31433/com.rongbang.taiqiuting E/Html5Plus-SplashClosed: 1702538169336 2023-12-14 15:16:09.337 31433-31433/com.rongbang.taiqiuting E/Main_Path: closeSplashScreen0 appid=UNIFED5D3E;false;closeSplashDid=true 2023-12-14 15:16:09.413 31433-31433/com.rongbang.taiqiuting I/geoListener: successType==1 2023-12-14 15:16:09.434 31433-31433/com.rongbang.taiqiuting E/WXAMapViewComponent: Map VISIBLE


操作步骤:


调用uni.chooseLocation方法

预期结果:

地图显示地点列表也显示


实际结果:


地图不显示地点列表显示

bug描述:

使用uni.chooseLocation 选择位置时出现列表可以显示,地图空白的情况


1 回复

在 uni-app 中使用高德地图进行离线打包时,如果安卓端选择位置时地图不显示地点,可能是由于以下几个原因导致的。你可以按照以下步骤进行排查和解决:

1. 检查高德地图 SDK 的配置

  • 确保高德地图 SDK 已正确集成:在 AndroidManifest.xml 文件中,确保你已经正确配置了高德地图的 AppKey 和其他相关配置。
  • 检查 AppKey 是否正确:确保你在高德开放平台申请的 AppKey 与项目中的配置一致。
<meta-data
    android:name="com.amap.api.v2.apikey"
    android:value="你的AppKey" />

2. 检查地图初始化代码

  • 确保地图初始化代码正确:在 uni-app 中,确保你已经正确初始化了高德地图。例如:
uni.chooseLocation({
    success: function (res) {
        console.log('位置名称:' + res.name);
        console.log('详细地址:' + res.address);
        console.log('纬度:' + res.latitude);
        console.log('经度:' + res.longitude);
    },
    fail: function (err) {
        console.log('选择位置失败:' + err);
    }
});

3. 检查权限

  • 确保安卓权限已正确配置:在 AndroidManifest.xml 文件中,确保你已经申请了必要的地理位置权限。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!