Uniapp离线打包配置高德地图,报错getLocation:fail not support gcj02

默认的SDK加载地图的时候会有这个报错,下面是解决办法:

一、首先根据官方文档添加UTS支持

1、将utsplugin-release.aar拷贝到项目的libs目录下

2、在app项目的build.gradle中添加如下内容

dependencies {
    implementation "com.squareup.okhttp3:okhttp:3.12.12"
    implementation "androidx.core:core-ktx:1.6.0"
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.8.10"
    implementation "org.jetbrains.kotlin:kotlin-reflect:1.8.10"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"
    implementation "com.github.getActivity:XXPermissions:18.63"
}

3、在项目根目录的build.gradle下添加jitpack依赖,参考:

allprojects {
	...
	repositories {
    maven { url 'https://jitpack.io' }
	}
}

二、参考官方文档添加高德Map组件,进行下面的操作

1、将map-amap-release.aargeolocation-amap-release.aar以及weex_amap-release.aar拷贝到项目的libs目录下

因为uni.chooseLocation是nvue实现的,所以也需要把weex_amap-release.arr拷贝进去

2、在主工程的build.gradle文件配置dependencies

android {
	xxxxxxxx
	defaultConfig {
		xxxxxxxx
	}
}
dependencies {
	xxxxxxxx
	implementation "com.amap.api:3dmap-location-search:10.0.700_loc6.4.5_sea9.7.2"
}

3、Androidmainfest.xml文件需要修改的项,需要在application节点前添加权限

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

4、application节点下配置如下代码:

<meta-data android:name="com.amap.api.v2.apikey" android:value="%appkey_android%"/>
<service android:name="com.amap.api.location.APSService"></service>

5、dcloud_properties.xml文件需要修改的项

<feature name="Maps" value="io.dcloud.js.map.amap.JsMapPluginImpl"></feature>

三、配置好manifest.json里的地图相关key,以及权限,重新build并运行


Uniapp离线打包配置高德地图,报错getLocation:fail not support gcj02
https://www.tab6.site/archives/uniappchi-xian-da-bao-pei-zhi-gao-de-di-tu-bao-cuo-getlocation-fail-not-support-gcj02
作者
tab
发布于
2025年07月11日
许可协议