Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
p x
MapMultiEngine
Commits
0665639d
Commit
0665639d
authored
Jun 12, 2025
by
p x
Browse files
1
parent
ad0b22a9
Pipeline
#3103
failed with stages
in 0 seconds
Changes
9
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
app/build.gradle.kts
View file @
0665639d
...
...
@@ -35,15 +35,18 @@ android {
}
}
dependencies
{
dependencies
{
// implementation(fileTree(mapOf("dir" to "libs","include" to listOf("*.jar", "*.aar"))))
implementation
(
libs
.
androidx
.
core
.
ktx
)
implementation
(
libs
.
androidx
.
appcompat
)
implementation
(
libs
.
material
)
implementation
(
libs
.
androidx
.
activity
)
implementation
(
libs
.
androidx
.
constraintlayout
)
implementation
(
project
(
":maplibrary"
))
testImplementation
(
libs
.
junit
)
androidTestImplementation
(
libs
.
androidx
.
junit
)
androidTestImplementation
(
libs
.
androidx
.
espresso
.
core
)
implementation
(
project
(
":maplibrary"
))
}
\ No newline at end of file
app/src/main/AndroidManifest.xml
View file @
0665639d
...
...
@@ -12,6 +12,8 @@
android:supportsRtl=
"true"
android:theme=
"@style/Theme.MapMultiEngine"
tools:targetApi=
"31"
>
<activity
android:name=
".MainActivity"
android:exported=
"true"
>
...
...
app/src/main/java/com/sd/mapmultiengine/MainActivity.kt
View file @
0665639d
...
...
@@ -5,6 +5,8 @@ import androidx.activity.enableEdgeToEdge
import
androidx.appcompat.app.AppCompatActivity
import
androidx.core.view.ViewCompat
import
androidx.core.view.WindowInsetsCompat
import
com.sd.maplibrary.MAP_TYPE
import
com.sd.maplibrary.MSDKInitializer
class
MainActivity
:
AppCompatActivity
()
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
...
...
@@ -16,5 +18,12 @@ class MainActivity : AppCompatActivity() {
v
.
setPadding
(
systemBars
.
left
,
systemBars
.
top
,
systemBars
.
right
,
systemBars
.
bottom
)
insets
}
initMap
()
}
fun
initMap
(){
MSDKInitializer
.
initializeMap
(
this
,
MAP_TYPE
.
AMAP
)
}
}
\ No newline at end of file
maplibrary/build.gradle.kts
View file @
0665639d
...
...
@@ -32,6 +32,12 @@ android {
}
}
//repositories {
// flatDir {
// dirs("libs") // aar目录
// }
//}
dependencies
{
implementation
(
fileTree
(
mapOf
(
"dir"
to
"libs"
,
"include"
to
listOf
(
"*.jar"
,
"*.aar"
))))
implementation
(
libs
.
androidx
.
core
.
ktx
)
...
...
@@ -40,4 +46,8 @@ dependencies {
testImplementation
(
libs
.
junit
)
androidTestImplementation
(
libs
.
androidx
.
junit
)
androidTestImplementation
(
libs
.
androidx
.
espresso
.
core
)
// 权限请求框架
implementation
(
"com.guolindev.permissionx:permissionx:1.8.1"
)
}
\ No newline at end of file
maplibrary/libs/MineNaviSDK.aar
0 → 100644
View file @
0665639d
File added
maplibrary/src/main/AndroidManifest.xml
View file @
0665639d
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
>
<!-- 打开关闭sdcard的权限 -->
<uses-permission
android:name=
"android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
tools:ignore=
"ProtectedPermissions"
/>
<uses-permission
android:name=
"android.permission.INTERACT_ACROSS_USERS_FULL"
tools:ignore=
"ProtectedPermissions"
/>
<!-- 允许程序打开网络套接字 -->
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<!-- 允许程序访问网络状态 -->
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<!-- 允许用户改变WiFi连接状态 -->
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
/>
<!-- 程序访问粗略位置 -->
<uses-permission
android:name=
"android.permission.ACCESS_COARSE_LOCATION"
/>
<!-- 允许用户访问精确位置 -->
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<!-- Android Q 允许后台运行定位 -->
<uses-permission
android:name=
"android.permission.ACCESS_BACKGROUND_LOCATION"
/>
<!-- 允许程序读取手机状态 -->
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<!-- 打电话的权限 -->
<uses-permission
android:name=
"android.permission.CALL_PHONE"
/>
<!-- 从SDCard读出数据权限 -->
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<!-- 允许程序写入外部存储设备 -->
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<!-- 允许程序读取所有者数据 -->
<uses-permission
android:name=
"android.permission.READ_OWNER_DATA"
/>
<!-- 访问WiFi状态,需要WiFi信息用于网络定位 -->
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<!-- 访问网络的变化, 需要某些信息用于网络定位 -->
<uses-permission
android:name=
"android.permission.CHANGE_NETWORK_STATE"
/>
<!-- 8.0 安装未知程序权限 -->
<uses-permission
android:name=
"android.permission.REQUEST_INSTALL_PACKAGES"
/>
<application
android:networkSecurityConfig=
"@xml/network_security_config"
android:supportsRtl=
"true"
>
<uses-library
android:name=
"org.apache.http.legacy"
android:required=
"false"
/>
<meta-data
android:name=
"com.minedata.minenavi.apikey"
android:value=
"57ac7a0d56494912a0c28e651fa4a40a"
/>
</application>
</manifest>
\ No newline at end of file
maplibrary/src/main/java/com/sd/maplibrary/MSDKInitializer.kt
0 → 100644
View file @
0665639d
package
com.sd.maplibrary
import
android.Manifest
import
android.content.Context
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.FragmentActivity
import
com.minedata.minenavi.SDKInitializer
import
com.minedata.minenavi.SDKInitializer.InitListener
import
com.minedata.minenavi.mapdal.CoordType
import
com.minedata.minenavi.poiquery.SearchUrlType
import
com.permissionx.guolindev.PermissionX
import
com.sd.maplibrary.utils.ToastHelper
/**AMAP = 高德
* MINE =四维
* ***/
enum
class
MAP_TYPE
{
AMAP
,
MINE
}
class
UserCtx
{
var
mContext
:
Context
?
=
null
companion
object
{
val
instance
:
UserCtx
by
lazy
{
UserCtx
()
}
}
}
object
MSDKInitializer
{
fun
initializeMap
(
context
:
Context
,
map_type
:
MAP_TYPE
)
{
UserCtx
.
instance
.
mContext
=
context
requestPers
()
// when (map_type) {
// MAP_TYPE.AMAP -> {
//
// }
// MAP_TYPE.MINE -> {
//
//
// }
// }
// 隐私合规接口
// SDKInitializer.setAgreePrivacy(true)
// if (SDKInitializer.getServerHost().equals("mineservice.minedata.cn")) {
// SDKInitializer.setStyleUrl(
// MineMap.UrlType.basicMap,
// "https://service.minedata.cn/map/solu/style/1359221494104252416"
// )
// }
// 设置地图坐标系
// SDKInitializer.setCoordType(CoordType.GCJ02)
// SDKInitializer.setSearchUrlType(SearchUrlType.v1)
// SDKInitializer.initialize(context, object : InitListener {
// override fun onInitSuccess() {
// }
//
// override fun onInitFailed(msg: String?) {
// }
// })
}
fun
requestPers
()
{
if
(
UserCtx
.
instance
.
mContext
is
FragmentActivity
||
UserCtx
.
instance
.
mContext
is
Fragment
)
{
var
list
=
listOf
(
Manifest
.
permission
.
ACCESS_COARSE_LOCATION
,
Manifest
.
permission
.
ACCESS_FINE_LOCATION
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
,
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
,
Manifest
.
permission
.
READ_PHONE_STATE
,
)
PermissionX
.
init
(
UserCtx
.
instance
.
mContext
as
FragmentActivity
)
.
permissions
(
list
)
.
onExplainRequestReason
{
scope
,
deniedList
->
scope
.
showRequestReasonDialog
(
deniedList
,
"Adas 需要同意以下授权才能正常使用"
,
"好的"
,
"取消"
)
}
// .onForwardToSettings { scope, deniedList ->
// scope.showForwardToSettingsDialog(deniedList, "您需要手动在‘设置’中允许必要的权限", "OK", "Cancel")
// }
.
request
{
allGranted
,
grantedList
,
deniedList
->
if
(
allGranted
)
{
}
else
{
// ToastHelper.showShort(this, "权限被拒")
}
}
}
else
{
ToastHelper
.
showShort
(
UserCtx
.
instance
.
mContext
!!
,
"请在正确的地方初始化"
)
}
}
}
\ No newline at end of file
maplibrary/src/main/java/com/sd/maplibrary/utils/ToastHelper.kt
0 → 100644
View file @
0665639d
package
com.sd.maplibrary.utils
import
android.content.Context
import
android.widget.Toast
object
ToastHelper
{
/**
* 短时间显示Toast
*/
fun
showShort
(
context
:
Context
,
message
:
String
)
{
Toast
.
makeText
(
context
,
message
,
Toast
.
LENGTH_SHORT
).
run
{
show
()
}
}
}
maplibrary/src/main/res/xml/network_security_config.xml
0 → 100644
View file @
0665639d
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config
cleartextTrafficPermitted=
"true"
/>
<!-- <domain-config cleartextTrafficPermitted="true">-->
<!-- <domain includeSubdomains="true">minedata.cn</domain>-->
<!-- </domain-config>-->
</network-security-config>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment