Commit 9cd2b62f authored by p x's avatar p x
Browse files

准备更新Android Studio

parent 6c47318f
......@@ -13,6 +13,7 @@
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/mapapi" />
<option value="$PROJECT_DIR$/maplibs" />
<option value="$PROJECT_DIR$/mycomutils" />
<option value="$PROJECT_DIR$/sixteen_parse" />
</set>
</option>
......
......@@ -2,5 +2,6 @@
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$/mycomutils" vcs="Git" />
</component>
</project>
\ No newline at end of file
......@@ -57,7 +57,7 @@ android {
}
dependencies {
// api(fileTree(mapOf("dir" to "libs","include" to listOf("*.jar", "*.aar"))))
api(fileTree(mapOf("dir" to "libs","include" to listOf("*.jar", "*.aar"))))
// implementation(fileTree(mapOf("dir" to "libs","include" to listOf("*.jar", "*.aar"))))
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
......@@ -71,7 +71,7 @@ dependencies {
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
api(project(":mapapi"))
// api(project(":mapapi"))
//16进制解析类
implementation(project(":sixteen_parse"))
implementation("com.google.code.gson:gson:2.12.0")
......
......@@ -138,7 +138,7 @@ class MainActivity : AppCompatActivity() {
* Init map
* @param type MINE=四维 AMAP=高德
*/
fun initMap(type: MAP_TYPE = MAP_TYPE.MINE) {
private fun initMap(type: MAP_TYPE = MAP_TYPE.MINE) {
var url = "http://192.168.60.73:9999/tiles/{z}/{x}/{y}.png?layer=yizhuang:yizhuang_avp"
// var url = "http://192.168.60.73:9999/tiles/{z}/{x}/{y}.png?"
// var url = "http://192.168.59.216:8080/smartmap/yizhuang/wms?service=WMS&version=1.1.0&request=GetMap&layers=yizhuang:yizhuang_avp&bbox=116.49796295166,39.8062019348145,116.505592346191,39.8120422363281&width=256&height=256&srs=EPSG:3857&styles=&format=image/png"
......
......@@ -28,7 +28,7 @@ class ControlActivity : AppCompatActivity() {
})
binding.bt1.setOnClickListener {
show=!show
//显示指
//显示指
binding.MapView.setCompassView(show)
}
binding.bt2.setOnClickListener {
......
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
// maven { setUrl("https://plugins.gradle.org/m2/") }
}
dependencies {
// classpath("org.jetbrains.dokka:dokka-base:2.1.0")
// classpath("com.github.kezong:fat-aar:1.3.8")
// classpath("com.github.kezong:fat-aar:1.3.8")
}
}
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
// alias(libs.plugins.jetbrains.kotlin.android) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.android.fusedlibrary) apply false
// id("org.jetbrains.dokka") version "2.0.0" apply false
// id("org.jetbrains.kotlin.jvm") version "2.1.10" apply false
}
[versions]
agp = "8.9.1"
agp = "9.0.0"
#agp = "8.9.1"
kotlin = "2.0.21"
coreKtx = "1.16.0"
junit = "4.13.2"
......@@ -26,8 +27,10 @@ androidx-navigation-fragment-ktx = { group = "androidx.navigation", name = "navi
androidx-navigation-ui-ktx = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "navigationUiKtx" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
#jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
android-library = { id = "com.android.library", version.ref = "agp" }
android-fusedlibrary = { id = "com.android.fused-library", version.ref = "agp"}
#Thu Jun 12 17:17:58 CST 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
#distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
distributionUrl=https\://mirrors.aliyun.com/macports/distfiles/gradle/gradle-9.1.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
......@@ -3,15 +3,22 @@ import org.jetbrains.kotlin.fir.scopes.impl.overrides
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
// alias(libs.plugins.kotlin.android)
id("kotlin-kapt")
id("kotlin-parcelize")
// Generates HTML documentation
id("org.jetbrains.dokka") version "2.1.0"
// Generates Javadoc documentation
id("org.jetbrains.dokka-javadoc") version "2.1.0"
alias(libs.plugins.android.fusedlibrary)
`maven-publish`
}
//androidFusedLibrary {
// namespace = "com.cusc.map"
// minSdk = 29
//}
android {
namespace = "com.cusc.map"
compileSdk = 35
......@@ -64,6 +71,7 @@ dependencies {
implementation(libs.material)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.activity)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
......@@ -73,14 +81,13 @@ dependencies {
dokkaJavadocPlugin("org.jetbrains.dokka:kotlin-as-java-plugin")
// dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin")
// embed(project(path=":maplibs"))
api(project(":maplibs"))
// Webview交互
//公共工具类库
implementation(project(":mycomutils"))
// Webview交互
api("com.github.lzyzsd:jsbridge:1.0.4")
//四维高精地图依赖
// implementation("daohang.tingche.unityLibrary:adas:1.0")
//高德
// implementation("com.amap.api:navi-3dmap:latest.integration")
// implementation("com.amap.api:search:latest.integration")
......@@ -315,12 +322,3 @@ tasks.register("generateOverviewTree") {
println("Generated overview-tree.html at: ${treeFile.absolutePath}")
}
}
/*afterEvaluate {
// 关联到 release 变体的 assemble 任务(如需 debug 替换为 "assembleDebug")
val assembleReleaseTask = tasks.findByName("assembleDebug")
// val assembleReleaseTask = tasks.findByName("assembleDebug")
val mergeAarsTask = tasks.named("repackageMergedAar", Copy::class)
assembleReleaseTask?.finalizedBy(mergeAarsTask)
}*/
......@@ -23,7 +23,7 @@ object MethodAdv : MsOperationParent() {
if (lat == 0.0 || lng == 0.0) {
return
}
var mapReadView = getMapReadView()
val mapReadView = getMapReadView()
when (MapSdkInit.getMapType()) {
MAP_TYPE.MINE -> {
MineMethodAdv.setMapCenter(mapReadView, lat, lng)
......
package com.cusc.map.scenario.mine
import com.minedata.minenavi.mapdal.LatLng
import com.cusc.map.map3d.ThreeHighMap
import com.cusc.map.map3d.HighPos
import com.cusc.map.map2d.Navigate
import com.cusc.map.map2d.MethodAdv
import com.cusc.map.map2d.Navigate
import com.cusc.map.map3d.HighPos
import com.cusc.map.map3d.ThreeHighMap
import com.cusc.map.parkroad.ParkRoad
import com.cusc.map.parkroad.RoadPos
import com.cusc.map.scenario.CuscVehicle
import com.cusc.map.scenario.VehicleModel
import com.cusc.map.scenario.bean.VehiclePos
import com.cusc.map.utils.SmoothMoveUtils
import com.minedata.minenavi.mapdal.LatLng
import commons.gis.TimeBasedGeoInterpolator
import commons.gis.TimedGeoPoint
//四维实现移动
internal object MineVehMove {
......@@ -33,6 +35,9 @@ internal object MineVehMove {
//移动地图中心点的此时
private var mapCenCount = 0
/**
* @param vPos 车辆位置
*/
fun mineCarMove(vPos: VehiclePos, moveType: Int) {
cvPos = vPos
if (moveType == 1) {
......@@ -54,29 +59,82 @@ internal object MineVehMove {
if (Navigate.isStartNai) {//导航中就删除在线地图小车
CuscVehicle.deleteCarModel()
} else {
if (fromLoc == null || fromLoc?.lng == 0.0) {
setFromMyLoc(vPos)//设置起始位置
}
//计算2次定位时间差
calTimeDiff()
if (isAniStart == false) {
isAniStart = true
SmoothMoveUtils.startSmoothMove(
LatLng(fromLoc!!.lat, fromLoc!!.lng),
LatLng(vPos.lat, vPos.lng),
vehTimeDiff,
sCarSmooth
)
mapCenCount++
if (mapCenCount % 10 == 0) {
MethodAdv.setMapCenter(cvPos?.lat ?: 0.0, cvPos?.lng ?: 0.0)
mapCenCount = 0
}
}
// CoroutineScope(Dispatchers.Default).launch {
smallCarOnLine(vPos)
// }
}
}
}
private fun smallCarOnLine(vPos: VehiclePos) {
if (fromLoc == null || fromLoc?.lng == 0.0) {
setFromMyLoc(vPos)//设置起始位置
}
if (fromLoc == null || cvPos?.lat == 0.0) {
return
}
//计算2次定位时间差
calTimeDiff()
//定义起止点(带时间戳)
val startTime = System.currentTimeMillis() // 起始时间
val endTime = startTime + vehTimeDiff // 结束时间(x秒后)
val startPoint = TimedGeoPoint(
lat = fromLoc!!.lat,
lng = fromLoc!!.lng,
heading = fromLoc!!.heading.toFloat(), // 航向角90°(正东)
timestamp = startTime
)
val endPoint = TimedGeoPoint(
lat = cvPos!!.lat,
lng = cvPos!!.lng,
heading = cvPos!!.heading.toFloat(), // 航向角100°
timestamp = endTime
)
// 按x秒间隔生成x秒内的所有插值点
val intervalPoints = TimeBasedGeoInterpolator.interpolateByTimeInterval(
start = startPoint,
end = endPoint,
intervalMs = 20, // 每x毫秒插一个点
useSpherical = false
)
intervalPoints.forEach { point ->
//在线地图主车平滑移动
VehicleModel.upMyLocCarModel(
point.lat,
point.lng,
cvPos?.heading?.toFloat() ?: 0f
)
}
setFromMyLoc(vPos)
/* mapCenCount++
if (mapCenCount % 10 == 0) {
MethodAdv.setMapCenter(cvPos?.lat ?: 0.0, cvPos?.lng ?: 0.0)
mapCenCount = 0
}*/
}
/* if (fromLoc == null || fromLoc?.lng == 0.0) {
setFromMyLoc(vPos)//设置起始位置
}
//计算2次定位时间差
calTimeDiff()
if (isAniStart == false) {
isAniStart = true
SmoothMoveUtils.startSmoothMove(
LatLng(fromLoc!!.lat, fromLoc!!.lng),
LatLng(vPos.lat, vPos.lng),
vehTimeDiff,
sCarSmooth
)
mapCenCount++
if (mapCenCount % 10 == 0) {
MethodAdv.setMapCenter(cvPos?.lat ?: 0.0, cvPos?.lng ?: 0.0)
mapCenCount = 0
}
}*/
//在线地图主车平滑移动
private var sCarSmooth = object : SmoothMoveUtils.OnPositionUpdateListener {
......@@ -100,14 +158,12 @@ internal object MineVehMove {
}
//计算2次拿到车辆定位的时间差
fun calTimeDiff() {
// CoroutineScope(Dispatchers.Default).launch {
if (oldTime != 0L) {
vehTimeDiff = System.currentTimeMillis() - oldTime
// println("-------定位时间差 = ${vehTimeDiff}")
}
oldTime = System.currentTimeMillis()
// }
private fun calTimeDiff() {
if (oldTime != 0L) {
vehTimeDiff = System.currentTimeMillis() - oldTime
// println("-------定位时间差 = ${vehTimeDiff}")
}
oldTime = System.currentTimeMillis()
}
//设置前一个点
......
......@@ -34,43 +34,10 @@ android {
jvmTarget = "11"
}
// Package the local AAR into the module's output
/* sourceSets {
named("main").configure {
jniLibs { srcDirs("libs/")}
}
}*/
}
dependencies {
api(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar"))))
// implementation(libs.androidx.core.ktx)
// implementation(libs.androidx.appcompat)
// implementation(libs.material)
// testImplementation(libs.junit)
// androidTestImplementation(libs.androidx.junit)
// androidTestImplementation(libs.androidx.espresso.core)
}
/*
publishing {
publications {
register<MavenPublication>("minenai") {
groupId = "mine.sdk"
artifactId = "nai"
version = "1.0"
}
// 如果是Android库模块
artifact(layout.buildDirectory.dir("outputs/aar/minenavi-release.aar"))
// 如果是Java库模块
// artifact("$buildDir/libs/your-library.jar")
//发布到本地仓库
repositories {
maven {
name = "MyRepo"
url = uri(layout.buildDirectory.dir("repo"))
}
}
}
}
}*/
mycomutils @ 4bc32780
Subproject commit 4bc32780878944b8e22a0b03df6ca00950010dbc
pluginManagement {
repositories {
maven {
// maven {
// url = "https://maven.aliyun.com/repository/public/"
setUrl("https://maven.aliyun.com/repository/public/")
}
// setUrl("https://maven.aliyun.com/repository/public/")
// }
maven { setUrl("https://jitpack.io") }
google {
content {
......@@ -19,21 +19,13 @@ pluginManagement {
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { setUrl("https://maven.aliyun.com/repository/central") }
maven { setUrl("https://maven.aliyun.com/repository/jcenter") }
maven { setUrl("https://maven.aliyun.com/repository/google") }
maven { setUrl("https://maven.aliyun.com/repository/gradle-plugin") }
maven { setUrl("https://maven.aliyun.com/repository/public") }
//四维高精地图仓库
// maven {
// isAllowInsecureProtocol = true
// setUrl("http://29266411xv.wicp.vip/repository/daohang-tingche/")
// credentials {
// username = "admin"
// password = "Nexus"
// }
// }
// maven { setUrl("https://maven.aliyun.com/repository/central") }
// maven { setUrl("https://maven.aliyun.com/repository/jcenter") }
// maven { setUrl("https://maven.aliyun.com/repository/google") }
// maven { setUrl("https://maven.aliyun.com/repository/gradle-plugin") }
// maven { setUrl("https://maven.aliyun.com/repository/public") }
maven { setUrl("https://jitpack.io") }
maven { setUrl("https://repo.osgeo.org/repository/release/")}
google()
mavenCentral()
mavenLocal()
......@@ -42,6 +34,7 @@ dependencyResolutionManagement {
rootProject.name = "MapMultiEngine"
include(":app")
include(":sixteen_parse")//16进制解析库
include(":mapapi")
include(":maplibs")
include(":maplibs")//存放三方地图aar包
include(":sixteen_parse")//16进制解析库
include(":mycomutils") //常用工具类
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment