This commit is contained in:
wangcongtao
2020-05-15 10:45:11 +08:00
parent 4a59ebb301
commit 9e11eecc2e
49 changed files with 430 additions and 1433 deletions

View File

@@ -47,6 +47,6 @@ public class AMapConstants {
*/
public static final String COMMAND_START_NAVI = "com.ileja.navi.route.confirm";
public static final String COMMAND_CHOOSE_PATH = "com.zhidao.route.plan";
public static final String COMMAND_CHOOSE_PATH = "com.zhidao.route.choice";
}

View File

@@ -14,6 +14,7 @@ import com.mogo.module.gps.simulator.GpsSimulatorConstants
import com.mogo.module.gps.simulator.IMogoGpsSimulatorManager
import com.mogo.module.guideshow.provider.GuideShowProviderConstant
import com.mogo.module.guideshow.provider.IGuideShowProvider
import com.mogo.service.IMogoServiceApis
import com.mogo.service.MogoServicePaths
import com.mogo.service.analytics.IMogoAnalytics
import com.mogo.service.fragmentmanager.FragmentDescriptor
@@ -42,7 +43,7 @@ object SearchServiceHolder {
val mogoLauncher: IMogoLauncher = ARouter.getInstance().build(MogoServicePaths.PATH_LAUNCHER_API).navigation() as IMogoLauncher
val gpsSimulator = ARouter.getInstance().build(GpsSimulatorConstants.API_PATH).navigation() as IMogoGpsSimulatorManager
val intentManager = ARouter.getInstance().build(MogoServicePaths.PATH_INTENT_MANAGER).navigation() as IMogoIntentManager
val apis = ARouter.getInstance().navigation(IMogoServiceApis::class.java)
var geoSearch: IMogoGeoSearch? = null
fun init(context: Context) {
this.context = context

View File

@@ -122,6 +122,7 @@ object AddressManager {
* 回家
*/
fun goHome() {
closeADAS()
SearchServiceHolder.statusManager.setSearchUIShow(TAG, true)
if (homeAddress == null) {
choosePoint(DataConstants.TYPE_HOME_ADDRESS)
@@ -134,6 +135,7 @@ object AddressManager {
* 去公司
*/
fun goCompany() {
closeADAS()
SearchServiceHolder.statusManager.setSearchUIShow(TAG, true)
if (companyAddress == null) {
choosePoint( DataConstants.TYPE_COMPANY_ADDRESS)
@@ -146,6 +148,7 @@ object AddressManager {
* 搜索
*/
fun goSearch() {
closeADAS()
SearchServiceHolder.statusManager.setSearchUIShow(TAG, true)
SearchServiceHolder.fragmentManager.push(
FragmentDescriptor.Builder().fragment(SearchFragment())
@@ -160,12 +163,14 @@ object AddressManager {
*/
fun calculatePath(destination: MogoLatLng?) {
destination?.let {
closeADAS()
var newInstance = ChoosePathFragment.newInstance(destination)
SearchServiceHolder.push(newInstance, AMapConstants.PATH_FRAGMENT_CHOOSE_PATH)
}
}
fun categorySearch(category: String){
closeADAS()
val searchFragment = CategorySearchFragment.newInstance(category)
SearchServiceHolder.fragmentManager.push(FragmentDescriptor.Builder().fragment(searchFragment)
.tag(AMapConstants.PATH_FRAGMENT_SEARCH_CATEGORY)
@@ -174,6 +179,7 @@ object AddressManager {
}
fun goSettings(){
closeADAS()
val naviSettingFragment = NaviSettingFragment()
SearchServiceHolder.fragmentManager.push(FragmentDescriptor.Builder().fragment(naviSettingFragment)
.tag(AMapConstants.PATH_FRAGMENT_NAVI_SETTING)
@@ -181,4 +187,13 @@ object AddressManager {
.build())
}
private fun closeADAS() {
try {
SearchServiceHolder.apis.adasControllerApi.closeADAS()
} catch (e: Exception) {
e.printStackTrace()
}
}
}

View File

@@ -1,6 +1,7 @@
package com.mogo.module.navi.manager;
import android.content.Context;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.map.MogoLatLng;
import com.mogo.module.navi.constants.SearchServiceHolder;
@@ -14,11 +15,13 @@ import com.mogo.service.module.IMogoAddressManager;
@Route( path = MogoServicePaths.PATH_ADDRESS_MANAGER )
public class MogoAddressManager implements IMogoAddressManager {
@Override public void goHome() {
@Override
public void goHome() {
AddressManager.INSTANCE.goHome();
}
@Override public void goCompany() {
@Override
public void goCompany() {
AddressManager.INSTANCE.goCompany();
}
@@ -42,9 +45,10 @@ public class MogoAddressManager implements IMogoAddressManager {
AddressManager.INSTANCE.goSettings();
}
@Override public void init( Context context) {
AddressManager.INSTANCE.init(context);
SearchServiceHolder.INSTANCE.init(context);
SettingManager.INSTANCE.init(context);
@Override
public void init( Context context ) {
AddressManager.INSTANCE.init( context );
SearchServiceHolder.INSTANCE.init( context );
SettingManager.INSTANCE.init( context );
}
}

View File

@@ -38,8 +38,8 @@ import org.json.JSONObject
*/
class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallBack, IMogoIntentListener {
var mTimeShortestPosition = -1
var mDistanceShortestPosition = -1
private var mTimeShortestPosition = -1
private var mDistanceShortestPosition = -1
override fun onCmdSelected(cmd: String?) {
when (cmd) {
@@ -270,45 +270,18 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB
var dataJsonStr = intent?.getStringExtra("data") ?: ""
try {
var jsonObj = JSONObject(dataJsonStr)
var routePlan = jsonObj.optString("route_plan", " ")
var routePlan = jsonObj.optString("route_choice", " ")
when (routePlan) {
"最快" -> {
"fastest" -> {
// 时间最短
selectItem(mTimeShortestPosition)
startNavi()
}
"不走高速" -> {
// 仅在导航场景下,⽀持第三⽅进⾏路线偏好的重新选择。
// 避免收费 | 1
// 多策略算路 | 2
// 不走高速 | 3
// 躲避拥堵 | 4
// 不走高速且避免收费 | 5
// 不走高速且躲避拥堵 | 6
// 躲避收费和拥堵 | 7
// 不走高速躲避收费和拥堵 | 8
// 高速优先 | 20
// 躲避拥堵且高速优先 | 24
var prefer = 3
val config = MogoNaviConfig().congestion(prefer == 4)
.cost(prefer == 1 || prefer == 7)
.highSpeed(prefer == 20)
.avoidSpeed(prefer == 3)
SearchServiceHolder.getNavi().reCalculateRoute(config)
}
"最近" -> {
"nearest" -> {
// 路程最短
selectItem(mDistanceShortestPosition)
startNavi()
}
"躲避拥堵" -> {
var prefer = 4
val config = MogoNaviConfig().congestion(prefer == 4)
.cost(prefer == 1 || prefer == 7)
.highSpeed(prefer == 20)
.avoidSpeed(prefer == 3)
SearchServiceHolder.getNavi().reCalculateRoute(config)
}
}
} catch (e: Exception) {