Merge remote-tracking branch 'origin/feature/v1.0.0' into feature/v1.0.0
# Conflicts: # modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java
This commit is contained in:
29
.idea/gradle.xml
generated
29
.idea/gradle.xml
generated
@@ -3,11 +3,34 @@
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<compositeConfiguration>
|
||||
<compositeBuild compositeDefinitionSource="SCRIPT" />
|
||||
</compositeConfiguration>
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
<option value="$PROJECT_DIR$/foudations" />
|
||||
<option value="$PROJECT_DIR$/foudations/mogo-commons" />
|
||||
<option value="$PROJECT_DIR$/foudations/mogo-connection" />
|
||||
<option value="$PROJECT_DIR$/foudations/mogo-utils" />
|
||||
<option value="$PROJECT_DIR$/libraries" />
|
||||
<option value="$PROJECT_DIR$/libraries/map-amap" />
|
||||
<option value="$PROJECT_DIR$/libraries/mogo-map" />
|
||||
<option value="$PROJECT_DIR$/libraries/mogo-map-api" />
|
||||
<option value="$PROJECT_DIR$/modules" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-apps" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-common" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-extensions" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-main" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-map" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-navi" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-service" />
|
||||
<option value="$PROJECT_DIR$/modules/mogo-module-tanlu" />
|
||||
<option value="$PROJECT_DIR$/services" />
|
||||
<option value="$PROJECT_DIR$/services/mogo-service" />
|
||||
<option value="$PROJECT_DIR$/services/mogo-service-api" />
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveModulePerSourceSet" value="false" />
|
||||
<option name="testRunner" value="PLATFORM" />
|
||||
</GradleProjectSettings>
|
||||
|
||||
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -5,7 +5,7 @@
|
||||
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
|
||||
</configurations>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
|
||||
@@ -55,19 +55,18 @@ dependencies {
|
||||
releaseImplementation rootProject.ext.dependencies.leakcanarynoop
|
||||
releaseImplementation rootProject.ext.dependencies.androidxmultidex
|
||||
|
||||
implementation rootProject.ext.dependencies.moduledemo
|
||||
implementation rootProject.ext.dependencies.moduledemo2
|
||||
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
api rootProject.ext.dependencies.modulemain
|
||||
api rootProject.ext.dependencies.mogocommons
|
||||
implementation rootProject.ext.dependencies.moduledemo
|
||||
implementation rootProject.ext.dependencies.moduledemo2
|
||||
implementation rootProject.ext.dependencies.modulecommon
|
||||
implementation rootProject.ext.dependencies.moduletanlu
|
||||
} else {
|
||||
implementation project(':modules:mogo-module-main')
|
||||
implementation project(':foudations:mogo-commons')
|
||||
implementation project(':modules:mogo-module-common')
|
||||
implementation project(':demo:demo-module-map')
|
||||
implementation project(':demo:demo-module-map2')
|
||||
implementation project(':demo:mogo-module-tanlu')
|
||||
implementation project(':modules:mogo-module-tanlu')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,8 +7,10 @@ import androidx.multidex.MultiDex;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.demo.module.map.DemoConstants;
|
||||
import com.mogo.demo.module.map2.Demo2Constants;
|
||||
import com.mogo.module.common.ModuleType;
|
||||
import com.mogo.module.common.MogoModule;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
import com.mogo.tanlu.TanluConstants;
|
||||
import com.mogo.tanlu.constant.TanluConstants;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -21,9 +23,9 @@ public class MogoApplication extends AbsMogoApplication {
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
MogoModulePaths.addModule( DemoConstants.TAG );
|
||||
MogoModulePaths.addModule( Demo2Constants.TAG );
|
||||
MogoModulePaths.addModule( TanluConstants.TAG );
|
||||
MogoModulePaths.addModule( new MogoModule( DemoConstants.TAG, "CARD_DEMO" ) );
|
||||
MogoModulePaths.addModule( new MogoModule( Demo2Constants.TAG, "CARD_DEMO2" ) );
|
||||
MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, "CARD_TYPE_ROAD_CODITION" ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.App" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<item name="android:windowTranslucentStatus">true</item>
|
||||
<item name="android:windowTranslucentStatus">false</item>
|
||||
<item name="android:statusBarColor" tools:ignore="NewApi">@null</item>
|
||||
<item name="android:windowEnterAnimation">@null</item>
|
||||
<item name="android:windowExitAnimation">@null</item>
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<item name="android:windowBackground">@android:color/transparent</item>
|
||||
<item name="android:windowTranslucentNavigation">true</item>
|
||||
<item name="android:windowTranslucentNavigation">false</item>
|
||||
<item name="android:windowAnimationStyle">@style/Animation</item>
|
||||
</style>
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
apply from: "config.gradle"
|
||||
apply from: "javadoc.gradle"
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.3.61'
|
||||
ext.kotlin_version = '1.3.61+'
|
||||
repositories {
|
||||
maven {
|
||||
@@ -81,7 +82,7 @@ afterEvaluate {
|
||||
}
|
||||
}
|
||||
it.configurations.all {
|
||||
resolutionStrategy.cacheChangingModulesFor 0, 'minutes'
|
||||
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -51,10 +51,11 @@ ext {
|
||||
|
||||
// retrofit
|
||||
retrofit : "com.squareup.retrofit2:retrofit:2.3.0",
|
||||
retrofitadapter : "com.squareup.retrofit2:adapter-rxjava:2.1.0",
|
||||
retrofitadapter : "com.squareup.retrofit2:adapter-rxjava2:2.3.0",
|
||||
retrofitconvertergson : "com.squareup.retrofit2:converter-gson:2.3.0",
|
||||
retrofitconverterscalars : "com.squareup.retrofit2:converter-scalars:2.1.0",
|
||||
|
||||
|
||||
// leakcanary
|
||||
leakcanary : 'com.squareup.leakcanary:leakcanary-android:1.5.4',
|
||||
leakcanarynoop : 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4',
|
||||
@@ -87,10 +88,12 @@ ext {
|
||||
modulecommon : "com.mogo.module:module-common:${MOGO_MODULE_COMMON_VERSION}",
|
||||
modulemain : "com.mogo.module:module-main:${MOGO_MODULE_MAIN_VERSION}",
|
||||
modulemap : "com.mogo.module:module-map:${MOGO_MODULE_MAP_VERSION}",
|
||||
moduleservice : "com.mogo.module:module-service:${MOGO_MODULE_SERVICE_VERSION}",
|
||||
mogoservice : "com.mogo.service:mogo-service:${MOGO_SERVICE_VERSION}",
|
||||
mogoserviceapi : "com.mogo.service:mogo-service-api:${MOGO_SERVICE_API_VERSION}",
|
||||
moduleapps : "com.mogo.module:module-apps:${MOGO_MODULE_APPS_VERSION}",
|
||||
mogoconnection : "com.mogo.connection:mogo-connection:${MOGO_CONNECTION_VERSION}",
|
||||
moduleextensions : "com.mogo.module:module-extensions:${MOGO_MODULE_EXTENSIONS_VERSION}",
|
||||
|
||||
// 长链
|
||||
socketsdk : 'com.zhidao.socketsdk:socketsdk:2.1.0',
|
||||
@@ -99,5 +102,8 @@ ext {
|
||||
|
||||
//
|
||||
jetbrainsannotationsjava5: "org.jetbrains:annotations-java5:15.0",
|
||||
|
||||
// 统一登录
|
||||
accountsdk : "com.zhidao.accoutservice:account-sdk:1.0.0.1@aar",
|
||||
]
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mogo.demo.module.map" />
|
||||
@@ -1,364 +0,0 @@
|
||||
package com.mogo.demo.module.map;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.os.Bundle;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.mogo.commons.mvp.IView;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.location.IMogoLocationListener;
|
||||
import com.mogo.map.location.MogoLocation;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.IMogoMarkerClickListener;
|
||||
import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.search.geo.MogoPoiItem;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
|
||||
import com.mogo.map.search.poisearch.MogoPoiResult;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.service.module.IMogoModuleLifecycle;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-24
|
||||
* <p>
|
||||
* 描述:demo测试各种接口
|
||||
*/
|
||||
|
||||
public class DemoCardViewFragment extends MvpFragment< IView, Presenter< IView > >
|
||||
implements IView,
|
||||
IMogoMarkerClickListener,
|
||||
IMogoModuleLifecycle,
|
||||
IMogoMapListener,
|
||||
IMogoPoiSearchListener,
|
||||
IMogoLocationListener {
|
||||
|
||||
private static final String TAG = "demo.DemoCardViewProvider";
|
||||
|
||||
private Button mAddMarker;
|
||||
private Button mAddMarkers;
|
||||
|
||||
private static IMogoMarker mLastClickedMarker;
|
||||
|
||||
private Bitmap mMarkerIcon;
|
||||
private Bitmap mClickedMarkerIcon;
|
||||
private TextView mLocInfo;
|
||||
private TextView mLoc;
|
||||
private Button m2D3D;
|
||||
private CheckBox mNaviMode;
|
||||
|
||||
private DemoInfoWindowAdapter mDemoInfoWindowAdapter;
|
||||
private MogoLocation mLocation;
|
||||
|
||||
private int position = -1;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.demo_module_card_view;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews() {
|
||||
|
||||
position = getArguments().getInt( "position" );
|
||||
|
||||
mNaviMode = findViewById( R.id.demo_module_id_navi_mode );
|
||||
|
||||
ServiceHandler.getPoiSearch().setPoiSearchListener( this );
|
||||
mLocation = ServiceHandler.getLocationClient().getLastKnowLocation();
|
||||
m2D3D = findViewById( R.id.demo_module_id_2d3d );
|
||||
|
||||
mLocInfo = findViewById( R.id.demo_module_id_loc_info );
|
||||
mLoc = findViewById( R.id.demo_module_id_loc );
|
||||
mLoc.setOnClickListener(
|
||||
new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getLocationClient().start( 4_000L );
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mDemoInfoWindowAdapter = new DemoInfoWindowAdapter( getContext(), ServiceHandler.getNavi(), ServiceHandler.getImageloader() );
|
||||
|
||||
mMarkerIcon = BitmapFactory.decodeResource( getResources(), R.drawable.ic_search_poi_location );
|
||||
mClickedMarkerIcon = BitmapFactory.decodeResource( getResources(), R.drawable.ic_search_choice_point );
|
||||
mAddMarker = findViewById( R.id.demo_module_id_add_marker );
|
||||
mAddMarker.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.icon( mMarkerIcon )
|
||||
.latitude( 39.974525d )
|
||||
.owner( DemoConstants.TAG )
|
||||
.longitude( 116.41733d );
|
||||
IMogoMarker marker = ServiceHandler.getMarkerManager().addMarker( DemoConstants.TAG, options );
|
||||
marker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
|
||||
marker.setOnMarkerClickListener( DemoCardViewFragment.this );
|
||||
}
|
||||
} );
|
||||
mAddMarkers = findViewById( R.id.demo_module_id_add_markers );
|
||||
mAddMarkers.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
|
||||
ArrayList< MogoMarkerOptions > optionsList = new ArrayList<>();
|
||||
for ( int i = 0; i < 10; i++ ) {
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.owner( DemoConstants.TAG )
|
||||
.latitude( 39.974525d + new Random().nextDouble() )
|
||||
.longitude( 116.41733d + new Random().nextDouble() );
|
||||
if ( i % 2 == 0 ) {
|
||||
options.icon( mMarkerIcon );
|
||||
} else {
|
||||
options.icon( mDemoInfoWindowAdapter.getMarkerView( options ) );
|
||||
}
|
||||
optionsList.add( options );
|
||||
}
|
||||
List< IMogoMarker > iMogoMarkers = ServiceHandler.getMarkerManager().addMarkers( DemoConstants.TAG, optionsList, true );
|
||||
for ( IMogoMarker iMogoMarker : iMogoMarkers ) {
|
||||
iMogoMarker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
|
||||
iMogoMarker.setOnMarkerClickListener( DemoCardViewFragment.this );
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_clear ).setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMarkerManager().removeMarkers( DemoConstants.TAG );
|
||||
}
|
||||
} );
|
||||
|
||||
m2D3D.setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
private EnumMapUI ui = EnumMapUI.NorthUP_2D;
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMapUIController().changeMapMode( ui = ui.next() );
|
||||
m2D3D.setText( ui.toString() );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_current ).setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMapUIController().moveToCenter( new MogoLatLng( mLocation.getLatitude(), mLocation.getLongitude() ) );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_start_navi ).setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getNavi().startNavi( !mNaviMode.isChecked() );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_stop_navi ).setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getNavi().stopNavi();
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_traffic ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
private boolean enable = true;
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMapUIController().setTrafficEnabled( enable = !enable );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_zoom_in ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMapUIController().changeZoom( true );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_zoom_out ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMapUIController().changeZoom( false );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_day_light ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMapUIController().changeMapMode( EnumMapUI.Type_Light );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_day_night ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMapUIController().changeMapMode( EnumMapUI.Type_Night );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_display_overlay ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMapUIController().displayOverview();
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_reverse_lock ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
ServiceHandler.getMapUIController().recoverLockMode();
|
||||
}
|
||||
} );
|
||||
|
||||
ServiceHandler.getLocationClient().addLocationListener( new IMogoLocationListener() {
|
||||
@Override
|
||||
public void onLocationChanged( MogoLocation location ) {
|
||||
mLocation = location;
|
||||
Logger.d( TAG, "demo模块定位,定位间隔4s" );
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
|
||||
super.onActivityCreated( savedInstanceState );
|
||||
getViewLifecycleOwner().getLifecycle().addObserver( mPresenter );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMarkerClicked( IMogoMarker marker ) {
|
||||
// if ( mLastClickedMarker != null ) {
|
||||
// mLastClickedMarker.setIcon( this.mMarkerIcon );
|
||||
// }
|
||||
// marker.setIcon( mClickedMarkerIcon );
|
||||
// mLastClickedMarker = marker;
|
||||
|
||||
// marker.showInfoWindow();
|
||||
return true;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected Presenter createPresenter() {
|
||||
return new Presenter( this ) {
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPerform() {
|
||||
Logger.d( TAG, "卡片demo有效" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
Logger.d( TAG, "卡片demo无效" );
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onMapLoaded() {
|
||||
Logger.d( TAG, "地图加载事件" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTouch( MotionEvent motionEvent ) {
|
||||
// Logger.d( TAG, "地图触摸事件" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPOIClick( MogoPoi poi ) {
|
||||
if ( poi != null ) {
|
||||
TipToast.shortTip( poi.getName() );
|
||||
}
|
||||
ServiceHandler.getPoiSearch().searchPOIIdAsyn( poi.getPoiId() );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPoiSearched( MogoPoiResult result, int errorCode ) {
|
||||
|
||||
}
|
||||
|
||||
private IMogoMarker mPoiMarker;
|
||||
|
||||
@Override
|
||||
public void onPoiItemSearched( MogoPoiItem item, int errorCode ) {
|
||||
if ( item == null ) {
|
||||
return;
|
||||
}
|
||||
if ( mPoiMarker != null ) {
|
||||
mPoiMarker.destroy();
|
||||
}
|
||||
mPoiMarker = ServiceHandler.getMarkerManager().addMarker( DemoConstants.TAG, new MogoMarkerOptions()
|
||||
.longitude( item.getPoint().lng )
|
||||
.latitude( item.getPoint().lat )
|
||||
.icon( mMarkerIcon ) );
|
||||
if ( mPoiMarker != null ) {
|
||||
mPoiMarker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
|
||||
mPoiMarker.setObject( item );
|
||||
mPoiMarker.showInfoWindow();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged( MogoLocation location ) {
|
||||
mLocation = location;
|
||||
Logger.i( TAG, "接受到的地图模块定位信息" );
|
||||
if ( mLocInfo != null ) {
|
||||
if ( location.getErrCode() == 0 ) {
|
||||
mLocInfo.setText( "当前位置:" + location.getAddress() );
|
||||
} else {
|
||||
mLocInfo.setText( location.getErrInfo() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapClick( MogoLatLng latLng ) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLockMap( boolean isLock ) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapModeChanged( EnumMapUI ui ) {
|
||||
Logger.d( TAG, ui.name() );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
Logger.w( TAG, "onDestroyView position=" + position );
|
||||
super.onDestroyView();
|
||||
getViewLifecycleOwner().getLifecycle().removeObserver( mPresenter );
|
||||
ServiceHandler.getLocationClient().removeLocationListener( this );
|
||||
}
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
package com.mogo.demo.module.map;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.location.IMogoLocationListener;
|
||||
import com.mogo.map.location.MogoLocation;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.IMogoMarkerClickListener;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.map.search.geo.MogoPoiItem;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
|
||||
import com.mogo.map.search.poisearch.MogoPoiResult;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
import com.mogo.service.module.IMogoModuleLifecycle;
|
||||
import com.mogo.service.module.IMogoModuleProvider;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-24
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
@Route( path = DemoConstants.TAG )
|
||||
public class DemoCardViewProvider implements IMogoModuleProvider {
|
||||
|
||||
private static final String TAG = "DemoCardViewProvider";
|
||||
|
||||
private DemoCardViewFragment fragment;
|
||||
|
||||
@Override
|
||||
public Fragment createFragment( Context context, Bundle data ) {
|
||||
fragment = new DemoCardViewFragment();
|
||||
fragment.setArguments( data );
|
||||
Logger.i( TAG, "createFragment" );
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init( Context context ) {
|
||||
ServiceHandler.init( context );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModuleName() {
|
||||
return DemoConstants.TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createView( Context context ) {
|
||||
// don't
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getType() {
|
||||
return IMogoModuleProvider.TYPE_FRAGMENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoNaviListener getNaviListener() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IMogoModuleLifecycle getCardLifecycle() {
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMapListener getMapListener() {
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoLocationListener getLocationListener() {
|
||||
return fragment;
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package com.mogo.demo.module.map;
|
||||
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-24
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class DemoConstants {
|
||||
|
||||
public static final String TAG = "/demo/ui";
|
||||
}
|
||||
@@ -1,132 +0,0 @@
|
||||
package com.mogo.demo.module.map;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.mogo.map.marker.IMogoInfoWindowAdapter;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.map.navi.IMogoNavi;
|
||||
import com.mogo.map.navi.MogoNaviConfig;
|
||||
import com.mogo.map.search.geo.MogoPoiItem;
|
||||
import com.mogo.service.imageloader.IMogoImageLoaderListener;
|
||||
import com.mogo.service.imageloader.IMogoImageloader;
|
||||
import com.mogo.service.imageloader.MogoImageView;
|
||||
import com.mogo.utils.WindowUtils;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.network.utils.Util;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-24
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class DemoInfoWindowAdapter implements IMogoInfoWindowAdapter {
|
||||
|
||||
private static final String TAG = "DemoInfoWindowAdapter";
|
||||
|
||||
private Context mContext;
|
||||
private IMogoNavi mNavi;
|
||||
private IMogoImageloader mImageloader;
|
||||
|
||||
public DemoInfoWindowAdapter( Context mContext, IMogoNavi mNavi, IMogoImageloader iMogoImageloader ) {
|
||||
this.mContext = mContext;
|
||||
this.mNavi = mNavi;
|
||||
this.mImageloader = iMogoImageloader;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getInfoWindow( IMogoMarker marker ) {
|
||||
if ( marker.getObject() instanceof MogoPoiItem ) {
|
||||
View view = LayoutInflater.from( mContext ).inflate( R.layout.demo_module_demo_poi_info_window, null );
|
||||
renderPoiVew( view, marker, ( ( MogoPoiItem ) marker.getObject() ) );
|
||||
return view;
|
||||
} else {
|
||||
View view = LayoutInflater.from( mContext ).inflate( R.layout.demo_module_demo_info_window, null );
|
||||
renderView( view, marker );
|
||||
return view;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void renderView( View view, final IMogoMarker marker ) {
|
||||
final TextView time = view.findViewById( R.id.demo_module_id_iw_time );
|
||||
Button refresh = view.findViewById( R.id.demo_module_id_iw_refresh );
|
||||
time.setText( new SimpleDateFormat( "yyyyMMdd HHMMSS" ).format( new Date() ) );
|
||||
refresh.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
marker.showInfoWindow();
|
||||
}
|
||||
} );
|
||||
Button navi2 = view.findViewById( R.id.demo_module_id_iw_navito );
|
||||
navi2.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
if ( mNavi != null ) {
|
||||
mNavi.naviTo( marker.getPosition(), new MogoNaviConfig() );
|
||||
}
|
||||
}
|
||||
} );
|
||||
Button stopNavi = view.findViewById( R.id.demo_module_id_iw_navi_stop );
|
||||
stopNavi.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
if ( mNavi != null ) {
|
||||
mNavi.stopNavi();
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
private void renderPoiVew( View view, final IMogoMarker marker, MogoPoiItem item ) {
|
||||
final TextView time = view.findViewById( R.id.demo_module_id_iw_poi_title );
|
||||
time.setText( item.getTitle() );
|
||||
Button navi2 = view.findViewById( R.id.demo_module_id_iw_poi_navito );
|
||||
navi2.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
if ( mNavi != null ) {
|
||||
mNavi.naviTo( marker.getPosition(), new MogoNaviConfig() );
|
||||
}
|
||||
marker.hideInfoWindow();
|
||||
marker.remove();
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
public View getMarkerView( final MogoMarkerOptions options ) {
|
||||
final View view = LayoutInflater.from( mContext ).inflate( R.layout.demo_module_demo_bubble_marker, null );
|
||||
final MogoImageView icon = view.findViewById( R.id.icon );
|
||||
mImageloader.displayImage( "http://imgnews.gmw.cn/attachement/jpg/site2/20191229/00d86176ed0b1f71f4580f.jpg", icon, WindowUtils.dip2px( mContext, 50 ), WindowUtils.dip2px( mContext, 50 ),
|
||||
new IMogoImageLoaderListener() {
|
||||
@Override
|
||||
public void onStart() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCompleted( Bitmap bitmap ) {
|
||||
// 刷新图标
|
||||
Logger.d( TAG, "loaded." );
|
||||
options.icon( view );
|
||||
options.notifyObservers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure( Exception e ) {
|
||||
|
||||
}
|
||||
} );
|
||||
return view;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
package com.mogo.demo.module.map;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.IMogoMarkerManager;
|
||||
import com.mogo.map.navi.IMogoNavi;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearch;
|
||||
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.imageloader.IMogoImageloader;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-30
|
||||
* <p>
|
||||
* 持有服务接口实例
|
||||
*/
|
||||
public class ServiceHandler {
|
||||
|
||||
private static IMogoMapService mMapService;
|
||||
|
||||
private static IMogoPoiSearch mPoiSearch;
|
||||
private static IMogoLocationClient mLocationClient;
|
||||
private static IMogoMarkerManager mMarkerManager;
|
||||
private static IMogoNavi mNavi;
|
||||
private static IMogoMapUIController mMapUIController;
|
||||
|
||||
private static IMogoImageloader mImageloader;
|
||||
|
||||
public static void init( Context context ) {
|
||||
mMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( context );
|
||||
mMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( context );
|
||||
mImageloader = ( IMogoImageloader ) ARouter.getInstance().build( MogoServicePaths.PATH_UTILS_IMAGE_LOADER ).navigation( context );
|
||||
mPoiSearch = mMapService.getPoiSearch( context, new MogoPoiSearchQuery() );
|
||||
mLocationClient = mMapService.getLocationClient( context );
|
||||
mMarkerManager = mMapService.getMarkerManager( context );
|
||||
mNavi = mMapService.getNavi( context );
|
||||
mMapUIController = mMapService.getMapUIController();
|
||||
}
|
||||
|
||||
public static IMogoMapService getMapService() {
|
||||
return mMapService;
|
||||
}
|
||||
|
||||
public static IMogoPoiSearch getPoiSearch() {
|
||||
return mPoiSearch;
|
||||
}
|
||||
|
||||
public static IMogoLocationClient getLocationClient() {
|
||||
return mLocationClient;
|
||||
}
|
||||
|
||||
public static IMogoMarkerManager getMarkerManager() {
|
||||
return mMarkerManager;
|
||||
}
|
||||
|
||||
public static IMogoNavi getNavi() {
|
||||
return mNavi;
|
||||
}
|
||||
|
||||
public static IMogoMapUIController getMapUIController() {
|
||||
return mMapUIController;
|
||||
}
|
||||
|
||||
public static IMogoImageloader getImageloader() {
|
||||
return mImageloader;
|
||||
}
|
||||
}
|
||||
@@ -1,152 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#ff0000"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_loc_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_add_marker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="添加一个覆盖物" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_add_markers"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="添加多个覆盖物" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_clear"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="清空覆盖物" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_loc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="定位" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_current"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="当前位置" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_2d3d"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="2D/3D" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_traffic"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="交通态势" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_start_navi"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="开始导航" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_stop_navi"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="停止导航" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/demo_module_id_navi_mode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="模拟导航" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_zoom_in"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="放大" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_zoom_out"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="缩小" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_day_light"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="白天" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_day_night"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="黑夜" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_display_overlay"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="全览" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_reverse_lock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="继续导航" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:miv_placeHolder="@drawable/ic_amap_app_main_current_location_bkg"
|
||||
app:miv_shape="circle" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_search_poi_location"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/icon" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,46 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#ff0000">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_iw_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_refresh"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="点击刷新当前时间"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_navito"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="70dp"
|
||||
android:text="导航去这里"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_navi_stop"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="120dp"
|
||||
android:text="停止导航"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#ff0000">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_iw_poi_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_poi_navito"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="70dp"
|
||||
android:text="导航去这里"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,3 +0,0 @@
|
||||
<resources>
|
||||
<string name="app_name">demo_module_map</string>
|
||||
</resources>
|
||||
@@ -1,388 +0,0 @@
|
||||
package com.mogo.demo.module.map2;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.os.Bundle;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.commons.mvp.IView;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.location.IMogoLocationListener;
|
||||
import com.mogo.map.location.MogoLocation;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.IMogoMarkerClickListener;
|
||||
import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.search.geo.MogoPoiItem;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
|
||||
import com.mogo.map.search.poisearch.MogoPoiResult;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.connection.IMogoOnMessageListener;
|
||||
import com.mogo.service.connection.IMogoSocketManager;
|
||||
import com.mogo.service.connection.MsgBody;
|
||||
import com.mogo.service.module.IMogoModuleLifecycle;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-24
|
||||
* <p>
|
||||
* 描述:demo测试各种接口
|
||||
*/
|
||||
public class Demo2CardViewFragment extends MvpFragment< IView, Presenter< IView > >
|
||||
implements IView,
|
||||
IMogoMarkerClickListener,
|
||||
IMogoModuleLifecycle,
|
||||
IMogoMapListener,
|
||||
IMogoPoiSearchListener,
|
||||
IMogoLocationListener {
|
||||
|
||||
private static final String TAG = "demo.Demo2CardViewProvider";
|
||||
|
||||
private Button mAddMarker;
|
||||
private Button mAddMarkers;
|
||||
|
||||
private Bitmap mMarkerIcon;
|
||||
private Bitmap mClickedMarkerIcon;
|
||||
private TextView mLocInfo;
|
||||
private TextView mLoc;
|
||||
private Button m2D3D;
|
||||
private CheckBox mNaviMode;
|
||||
|
||||
private IMogoMarker mLastClickedMarker;
|
||||
|
||||
private Demo2InfoWindowAdapter mDemoInfoWindowAdapter;
|
||||
private MogoLocation mLocation;
|
||||
|
||||
private IMogoSocketManager mMogoSocketManager;
|
||||
|
||||
private int position = -1;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.demo2_module_card_view;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews() {
|
||||
|
||||
position = getArguments().getInt( "position" );
|
||||
|
||||
mNaviMode = findViewById( R.id.demo_module_id_navi_mode );
|
||||
|
||||
Service2Handler.getPoiSearch().setPoiSearchListener( this );
|
||||
mLocation = Service2Handler.getLocationClient().getLastKnowLocation();
|
||||
|
||||
m2D3D = findViewById( R.id.demo_module_id_2d3d );
|
||||
|
||||
mLocInfo = findViewById( R.id.demo_module_id_loc_info );
|
||||
mLoc = findViewById( R.id.demo_module_id_loc );
|
||||
mLoc.setOnClickListener(
|
||||
new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getLocationClient().start( 4_000L );
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mDemoInfoWindowAdapter = new Demo2InfoWindowAdapter( getContext(), Service2Handler.getNavi(), Service2Handler.getImageloader() );
|
||||
|
||||
mMarkerIcon = BitmapFactory.decodeResource( getResources(), R.drawable.ic_search_poi_location );
|
||||
mClickedMarkerIcon = BitmapFactory.decodeResource( getResources(), R.drawable.ic_search_choice_point );
|
||||
mAddMarker = findViewById( R.id.demo_module_id_add_marker );
|
||||
mAddMarker.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.icon( mMarkerIcon )
|
||||
.latitude( 39.974525d )
|
||||
.owner( Demo2Constants.TAG )
|
||||
.longitude( 116.41733d );
|
||||
IMogoMarker marker = Service2Handler.getMarkerManager().addMarker( Demo2Constants.TAG, options );
|
||||
marker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
|
||||
marker.setOnMarkerClickListener( Demo2CardViewFragment.this );
|
||||
}
|
||||
} );
|
||||
mAddMarkers = findViewById( R.id.demo_module_id_add_markers );
|
||||
mAddMarkers.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
|
||||
ArrayList< MogoMarkerOptions > optionsList = new ArrayList<>();
|
||||
for ( int i = 0; i < 10; i++ ) {
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.owner( Demo2Constants.TAG )
|
||||
.latitude( 39.974525d + new Random().nextDouble() )
|
||||
.longitude( 116.41733d + new Random().nextDouble() );
|
||||
if ( i % 2 == 0 ) {
|
||||
options.icon( mMarkerIcon );
|
||||
} else {
|
||||
options.icon( mDemoInfoWindowAdapter.getMarkerView( options ) );
|
||||
}
|
||||
optionsList.add( options );
|
||||
}
|
||||
List< IMogoMarker > iMogoMarkers = Service2Handler.getMarkerManager().addMarkers( Demo2Constants.TAG, optionsList, true );
|
||||
for ( IMogoMarker iMogoMarker : iMogoMarkers ) {
|
||||
iMogoMarker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
|
||||
iMogoMarker.setOnMarkerClickListener( Demo2CardViewFragment.this );
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_clear ).setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMarkerManager().removeMarkers( Demo2Constants.TAG );
|
||||
}
|
||||
} );
|
||||
|
||||
m2D3D.setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
private EnumMapUI ui = EnumMapUI.NorthUP_2D;
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMapUIController().changeMapMode( ui = ui.next() );
|
||||
m2D3D.setText( ui.toString() );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_current ).setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMapUIController().moveToCenter( new MogoLatLng( mLocation.getLatitude(), mLocation.getLongitude() ) );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_start_navi ).setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getNavi().startNavi( !mNaviMode.isChecked() );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_stop_navi ).setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getNavi().stopNavi();
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_traffic ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
private boolean enable = true;
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMapUIController().setTrafficEnabled( enable = !enable );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_zoom_in ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMapUIController().changeZoom( true );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_zoom_out ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMapUIController().changeZoom( false );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_day_light ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMapUIController().changeMapMode( EnumMapUI.Type_Light );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_day_night ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMapUIController().changeMapMode( EnumMapUI.Type_Night );
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_display_overlay ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMapUIController().displayOverview();
|
||||
}
|
||||
} );
|
||||
|
||||
findViewById( R.id.demo_module_id_reverse_lock ).setOnClickListener( new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
Service2Handler.getMapUIController().recoverLockMode();
|
||||
}
|
||||
} );
|
||||
|
||||
Service2Handler.getLocationClient().addLocationListener( new IMogoLocationListener() {
|
||||
@Override
|
||||
public void onLocationChanged( MogoLocation location ) {
|
||||
mLocation = location;
|
||||
Logger.d( TAG, "demo模块定位,定位间隔4s" );
|
||||
}
|
||||
} );
|
||||
|
||||
mMogoSocketManager = ( IMogoSocketManager ) ARouter.getInstance().build( MogoServicePaths.PATH_SOCKET_MANAGER ).navigation();
|
||||
mMogoSocketManager.registerOnMessageListener( 123, new IMogoOnMessageListener() {
|
||||
@Override
|
||||
public Class target() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMsgReceived( Object obj ) {
|
||||
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
|
||||
super.onActivityCreated( savedInstanceState );
|
||||
getViewLifecycleOwner().getLifecycle().addObserver( mPresenter );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMarkerClicked( IMogoMarker marker ) {
|
||||
// if ( mLastClickedMarker != null ) {
|
||||
// mLastClickedMarker.setIcon( this.mMarkerIcon );
|
||||
// }
|
||||
// marker.setIcon( mClickedMarkerIcon );
|
||||
// mLastClickedMarker = marker;
|
||||
|
||||
// marker.showInfoWindow();
|
||||
return true;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected Presenter createPresenter() {
|
||||
return new Presenter( this ) {
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPerform() {
|
||||
Logger.d( TAG, "卡片2有效" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
Logger.d( TAG, "卡片2无效" );
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onMapLoaded() {
|
||||
Logger.d( TAG, "地图加载事件" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTouch( MotionEvent motionEvent ) {
|
||||
// Logger.d( TAG, "地图触摸事件" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPOIClick( MogoPoi poi ) {
|
||||
if ( poi != null ) {
|
||||
TipToast.shortTip( poi.getName() );
|
||||
}
|
||||
Service2Handler.getPoiSearch().searchPOIIdAsyn( poi.getPoiId() );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPoiSearched( MogoPoiResult result, int errorCode ) {
|
||||
|
||||
}
|
||||
|
||||
private IMogoMarker mPoiMarker;
|
||||
|
||||
@Override
|
||||
public void onPoiItemSearched( MogoPoiItem item, int errorCode ) {
|
||||
if ( item == null ) {
|
||||
return;
|
||||
}
|
||||
if ( mPoiMarker != null ) {
|
||||
mPoiMarker.destroy();
|
||||
}
|
||||
mPoiMarker = Service2Handler.getMarkerManager().addMarker( Demo2Constants.TAG, new MogoMarkerOptions()
|
||||
.longitude( item.getPoint().lng )
|
||||
.latitude( item.getPoint().lat )
|
||||
.icon( mMarkerIcon ) );
|
||||
if ( mPoiMarker != null ) {
|
||||
mPoiMarker.setInfoWindowAdapter( mDemoInfoWindowAdapter );
|
||||
mPoiMarker.setObject( item );
|
||||
mPoiMarker.showInfoWindow();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged( MogoLocation location ) {
|
||||
mLocation = location;
|
||||
Logger.i( TAG, "接受到的地图模块定位信息" );
|
||||
if ( mLocInfo != null ) {
|
||||
if ( location.getErrCode() == 0 ) {
|
||||
mLocInfo.setText( "当前位置:" + location.getAddress() );
|
||||
} else {
|
||||
mLocInfo.setText( location.getErrInfo() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapClick( MogoLatLng latLng ) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLockMap( boolean isLock ) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapModeChanged( EnumMapUI ui ) {
|
||||
Logger.d( TAG, ui.name() );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
Logger.w( TAG, "onDestroyView position=" + position );
|
||||
super.onDestroyView();
|
||||
getViewLifecycleOwner().getLifecycle().removeObserver( mPresenter );
|
||||
Service2Handler.getLocationClient().removeLocationListener( this );
|
||||
if ( mLastClickedMarker != null ) {
|
||||
mLastClickedMarker.destroy();
|
||||
mLastClickedMarker = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package com.mogo.demo.module.map2;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-24
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class Demo2Constants {
|
||||
|
||||
public static final String TAG = "/demo2/ui";
|
||||
}
|
||||
@@ -1,131 +0,0 @@
|
||||
package com.mogo.demo.module.map2;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.mogo.map.marker.IMogoInfoWindowAdapter;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.map.navi.IMogoNavi;
|
||||
import com.mogo.map.navi.MogoNaviConfig;
|
||||
import com.mogo.map.search.geo.MogoPoiItem;
|
||||
import com.mogo.service.imageloader.IMogoImageLoaderListener;
|
||||
import com.mogo.service.imageloader.IMogoImageloader;
|
||||
import com.mogo.service.imageloader.MogoImageView;
|
||||
import com.mogo.utils.WindowUtils;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-24
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class Demo2InfoWindowAdapter implements IMogoInfoWindowAdapter {
|
||||
|
||||
private static final String TAG = "DemoInfoWindowAdapter";
|
||||
|
||||
private Context mContext;
|
||||
private IMogoNavi mNavi;
|
||||
private IMogoImageloader mImageloader;
|
||||
|
||||
public Demo2InfoWindowAdapter( Context mContext, IMogoNavi mNavi, IMogoImageloader iMogoImageloader ) {
|
||||
this.mContext = mContext;
|
||||
this.mNavi = mNavi;
|
||||
this.mImageloader = iMogoImageloader;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getInfoWindow( IMogoMarker marker ) {
|
||||
if ( marker.getObject() instanceof MogoPoiItem ) {
|
||||
View view = LayoutInflater.from( mContext ).inflate( R.layout.demo2_module_demo_poi_info_window, null );
|
||||
renderPoiVew( view, marker, ( ( MogoPoiItem ) marker.getObject() ) );
|
||||
return view;
|
||||
} else {
|
||||
View view = LayoutInflater.from( mContext ).inflate( R.layout.demo2_module_demo_info_window, null );
|
||||
renderView( view, marker );
|
||||
return view;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void renderView( View view, final IMogoMarker marker ) {
|
||||
final TextView time = view.findViewById( R.id.demo_module_id_iw_time );
|
||||
Button refresh = view.findViewById( R.id.demo_module_id_iw_refresh );
|
||||
time.setText( new SimpleDateFormat( "yyyyMMdd HHMMSS" ).format( new Date() ) );
|
||||
refresh.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
marker.showInfoWindow();
|
||||
}
|
||||
} );
|
||||
Button navi2 = view.findViewById( R.id.demo_module_id_iw_navito );
|
||||
navi2.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
if ( mNavi != null ) {
|
||||
mNavi.naviTo( marker.getPosition(), new MogoNaviConfig() );
|
||||
}
|
||||
}
|
||||
} );
|
||||
Button stopNavi = view.findViewById( R.id.demo_module_id_iw_navi_stop );
|
||||
stopNavi.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
if ( mNavi != null ) {
|
||||
mNavi.stopNavi();
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
private void renderPoiVew( View view, final IMogoMarker marker, MogoPoiItem item ) {
|
||||
final TextView time = view.findViewById( R.id.demo_module_id_iw_poi_title );
|
||||
time.setText( item.getTitle() );
|
||||
Button navi2 = view.findViewById( R.id.demo_module_id_iw_poi_navito );
|
||||
navi2.setOnClickListener( new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick( View v ) {
|
||||
if ( mNavi != null ) {
|
||||
mNavi.naviTo( marker.getPosition(), new MogoNaviConfig() );
|
||||
}
|
||||
marker.hideInfoWindow();
|
||||
marker.remove();
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
public View getMarkerView( final MogoMarkerOptions options ) {
|
||||
final View view = LayoutInflater.from( mContext ).inflate( R.layout.demo2_module_demo_bubble_marker, null );
|
||||
final MogoImageView icon = view.findViewById( R.id.icon );
|
||||
mImageloader.displayImage( "http://imgnews.gmw.cn/attachement/jpg/site2/20191229/00d86176ed0b1f71f4580f.jpg", icon, WindowUtils.dip2px( mContext, 50 ), WindowUtils.dip2px( mContext, 50 ),
|
||||
new IMogoImageLoaderListener() {
|
||||
@Override
|
||||
public void onStart() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCompleted( Bitmap bitmap ) {
|
||||
// 刷新图标
|
||||
Logger.d( TAG, "loaded." );
|
||||
options.icon( view );
|
||||
options.notifyObservers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure( Exception e ) {
|
||||
|
||||
}
|
||||
} );
|
||||
return view;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
package com.mogo.demo.module.map2;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.map.marker.IMogoMarkerManager;
|
||||
import com.mogo.map.navi.IMogoNavi;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearch;
|
||||
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.imageloader.IMogoImageloader;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-30
|
||||
* <p>
|
||||
* 持有服务接口实例
|
||||
*/
|
||||
public class Service2Handler {
|
||||
|
||||
private static IMogoMapService mMapService;
|
||||
|
||||
private static IMogoPoiSearch mPoiSearch;
|
||||
private static IMogoLocationClient mLocationClient;
|
||||
private static IMogoMarkerManager mMarkerManager;
|
||||
private static IMogoNavi mNavi;
|
||||
private static IMogoMapUIController mMapUIController;
|
||||
|
||||
private static IMogoImageloader mImageloader;
|
||||
|
||||
public static void init( Context context ) {
|
||||
mMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( context );
|
||||
mMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( context );
|
||||
mImageloader = ( IMogoImageloader ) ARouter.getInstance().build( MogoServicePaths.PATH_UTILS_IMAGE_LOADER ).navigation( context );
|
||||
mPoiSearch = mMapService.getPoiSearch( context, new MogoPoiSearchQuery() );
|
||||
mLocationClient = mMapService.getLocationClient( context );
|
||||
mMarkerManager = mMapService.getMarkerManager( context );
|
||||
mNavi = mMapService.getNavi( context );
|
||||
mMapUIController = mMapService.getMapUIController();
|
||||
}
|
||||
|
||||
public static IMogoMapService getMapService() {
|
||||
return mMapService;
|
||||
}
|
||||
|
||||
public static IMogoPoiSearch getPoiSearch() {
|
||||
return mPoiSearch;
|
||||
}
|
||||
|
||||
public static IMogoLocationClient getLocationClient() {
|
||||
return mLocationClient;
|
||||
}
|
||||
|
||||
public static IMogoMarkerManager getMarkerManager() {
|
||||
return mMarkerManager;
|
||||
}
|
||||
|
||||
public static IMogoNavi getNavi() {
|
||||
return mNavi;
|
||||
}
|
||||
|
||||
public static IMogoMapUIController getMapUIController() {
|
||||
return mMapUIController;
|
||||
}
|
||||
|
||||
public static IMogoImageloader getImageloader() {
|
||||
return mImageloader;
|
||||
}
|
||||
}
|
||||
@@ -1,165 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#ff0000"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_loc_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_add_marker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="添加一个覆盖物" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_add_markers"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="添加多个覆盖物" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_clear"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="清空覆盖物" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_send_msg"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="发送长连接消息" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_loc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="定位" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_current"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="当前位置" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_2d3d"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="2D/3D" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_traffic"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="交通态势" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_start_navi"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="开始导航" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_stop_navi"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="停止导航" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/demo_module_id_navi_mode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="模拟导航" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_zoom_in"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="放大" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_zoom_out"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="缩小" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_day_light"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="白天" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_day_night"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="黑夜" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_display_overlay"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="全览" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_reverse_lock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="继续导航" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:miv_placeHolder="@drawable/ic_amap_app_main_current_location_bkg"
|
||||
app:miv_shape="circle" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_search_poi_location"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/icon" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,46 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#ff0000">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_iw_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_refresh"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="点击刷新当前时间"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_navito"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="70dp"
|
||||
android:text="导航去这里"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_navi_stop"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="120dp"
|
||||
android:text="停止导航"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#ff0000">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_iw_poi_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_poi_navito"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="70dp"
|
||||
android:text="导航去这里"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,3 +0,0 @@
|
||||
<resources>
|
||||
<string name="app_name">demo-module-map2</string>
|
||||
</resources>
|
||||
@@ -1,365 +0,0 @@
|
||||
package com.mogo.tanlu;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.os.Bundle;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.mogo.commons.mvp.IView;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.location.IMogoLocationListener;
|
||||
import com.mogo.map.location.MogoLocation;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.IMogoMarkerClickListener;
|
||||
import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.search.geo.MogoPoiItem;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
|
||||
import com.mogo.map.search.poisearch.MogoPoiResult;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.service.module.IMogoModuleLifecycle;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* @author lixiaopeng
|
||||
* @description
|
||||
* @since 2020-01-02
|
||||
*/
|
||||
public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
implements IView,
|
||||
IMogoMarkerClickListener,
|
||||
IMogoModuleLifecycle,
|
||||
IMogoMapListener,
|
||||
IMogoPoiSearchListener,
|
||||
IMogoLocationListener {
|
||||
|
||||
private static final String TAG = "TanluCardViewFragment";
|
||||
|
||||
private Button mAddMarker;
|
||||
private Button mAddMarkers;
|
||||
|
||||
private Bitmap mMarkerIcon;
|
||||
private Bitmap mClickedMarkerIcon;
|
||||
private TextView mLocInfo;
|
||||
private TextView mLoc;
|
||||
private Button m2D3D;
|
||||
private CheckBox mNaviMode;
|
||||
|
||||
private IMogoMarker mLastClickedMarker;
|
||||
private TanluInfoWindowAdapter mDemoInfoWindowAdapter;
|
||||
private MogoLocation mLocation;
|
||||
|
||||
private int position = -1;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.tanlu_card_view;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews() {
|
||||
position = getArguments().getInt("position");
|
||||
|
||||
mNaviMode = findViewById(R.id.demo_module_id_navi_mode);
|
||||
|
||||
TanluServiceHandler.getPoiSearch().setPoiSearchListener(this);
|
||||
mLocation = TanluServiceHandler.getLocationClient().getLastKnowLocation();
|
||||
|
||||
m2D3D = findViewById(R.id.demo_module_id_2d3d);
|
||||
|
||||
mLocInfo = findViewById(R.id.demo_module_id_loc_info);
|
||||
mLoc = findViewById(R.id.demo_module_id_loc);
|
||||
mLoc.setOnClickListener(
|
||||
new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getLocationClient().start(4_000L);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mDemoInfoWindowAdapter = new TanluInfoWindowAdapter(getContext(), TanluServiceHandler.getNavi(), TanluServiceHandler.getImageloader());
|
||||
|
||||
mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_search_poi_location);
|
||||
mClickedMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_search_choice_point);
|
||||
mAddMarker = findViewById(R.id.demo_module_id_add_marker);
|
||||
mAddMarker.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.icon(mMarkerIcon)
|
||||
.latitude(39.974525d)
|
||||
.owner(TanluConstants.TAG)
|
||||
.longitude(116.41733d);
|
||||
IMogoMarker marker = TanluServiceHandler.getMarkerManager().addMarker(TanluConstants.TAG, options);
|
||||
marker.setInfoWindowAdapter(mDemoInfoWindowAdapter);
|
||||
marker.setOnMarkerClickListener(TanluCardViewFragment.this);
|
||||
}
|
||||
});
|
||||
mAddMarkers = findViewById(R.id.demo_module_id_add_markers);
|
||||
mAddMarkers.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
ArrayList<MogoMarkerOptions> optionsList = new ArrayList<>();
|
||||
for (int i = 0; i < 10; i++) {
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.owner(TanluConstants.TAG)
|
||||
.latitude(39.974525d + new Random().nextDouble())
|
||||
.longitude(116.41733d + new Random().nextDouble());
|
||||
if (i % 2 == 0) {
|
||||
options.icon(mMarkerIcon);
|
||||
} else {
|
||||
options.icon(mDemoInfoWindowAdapter.getMarkerView(options));
|
||||
}
|
||||
optionsList.add(options);
|
||||
}
|
||||
List<IMogoMarker> iMogoMarkers = TanluServiceHandler.getMarkerManager().addMarkers(TanluConstants.TAG, optionsList, true);
|
||||
for (IMogoMarker iMogoMarker : iMogoMarkers) {
|
||||
iMogoMarker.setInfoWindowAdapter(mDemoInfoWindowAdapter);
|
||||
iMogoMarker.setOnMarkerClickListener(TanluCardViewFragment.this);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_clear).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMarkerManager().removeMarkers(TanluConstants.TAG);
|
||||
}
|
||||
});
|
||||
|
||||
m2D3D.setOnClickListener(new View.OnClickListener() {
|
||||
private EnumMapUI ui = EnumMapUI.NorthUP_2D;
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMapUIController().changeMapMode(ui = ui.next());
|
||||
m2D3D.setText(ui.toString());
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_current).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMapUIController().moveToCenter(new MogoLatLng(mLocation.getLatitude(), mLocation.getLongitude()));
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_start_navi).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getNavi().startNavi(!mNaviMode.isChecked());
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_stop_navi).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getNavi().stopNavi();
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_traffic).setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
private boolean enable = true;
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMapUIController().setTrafficEnabled(enable = !enable);
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_zoom_in).setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMapUIController().changeZoom(true);
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_zoom_out).setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMapUIController().changeZoom(false);
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_day_light).setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMapUIController().changeMapMode(EnumMapUI.Type_Light);
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_day_night).setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMapUIController().changeMapMode(EnumMapUI.Type_Night);
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_display_overlay).setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMapUIController().displayOverview();
|
||||
}
|
||||
});
|
||||
|
||||
findViewById(R.id.demo_module_id_reverse_lock).setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
TanluServiceHandler.getMapUIController().recoverLockMode();
|
||||
}
|
||||
});
|
||||
|
||||
TanluServiceHandler.getLocationClient().addLocationListener(new IMogoLocationListener() {
|
||||
@Override
|
||||
public void onLocationChanged(MogoLocation location) {
|
||||
mLocation = location;
|
||||
Logger.d(TAG, "demo模块定位,定位间隔4s");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
getViewLifecycleOwner().getLifecycle().addObserver(mPresenter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMarkerClicked(IMogoMarker marker) {
|
||||
// if ( mLastClickedMarker != null ) {
|
||||
// mLastClickedMarker.setIcon( this.mMarkerIcon );
|
||||
// }
|
||||
// marker.setIcon( mClickedMarkerIcon );
|
||||
// mLastClickedMarker = marker;
|
||||
|
||||
// marker.showInfoWindow();
|
||||
return true;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected Presenter createPresenter() {
|
||||
return new Presenter(this) {
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPerform() {
|
||||
Logger.d(TAG, "卡片2有效");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
Logger.d(TAG, "卡片2无效");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onMapLoaded() {
|
||||
Logger.d(TAG, "地图加载事件");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTouch(MotionEvent motionEvent) {
|
||||
// Logger.d( TAG, "地图触摸事件" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPOIClick(MogoPoi poi) {
|
||||
if (poi != null) {
|
||||
TipToast.shortTip(poi.getName());
|
||||
}
|
||||
TanluServiceHandler.getPoiSearch().searchPOIIdAsyn(poi.getPoiId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPoiSearched(MogoPoiResult result, int errorCode) {
|
||||
|
||||
}
|
||||
|
||||
private IMogoMarker mPoiMarker;
|
||||
|
||||
@Override
|
||||
public void onPoiItemSearched(MogoPoiItem item, int errorCode) {
|
||||
if (item == null) {
|
||||
return;
|
||||
}
|
||||
if (mPoiMarker != null) {
|
||||
mPoiMarker.destroy();
|
||||
}
|
||||
mPoiMarker = TanluServiceHandler.getMarkerManager().addMarker(TanluConstants.TAG, new MogoMarkerOptions()
|
||||
.longitude(item.getPoint().lng)
|
||||
.latitude(item.getPoint().lat)
|
||||
.icon(mMarkerIcon));
|
||||
if (mPoiMarker != null) {
|
||||
mPoiMarker.setInfoWindowAdapter(mDemoInfoWindowAdapter);
|
||||
mPoiMarker.setObject(item);
|
||||
mPoiMarker.showInfoWindow();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(MogoLocation location) {
|
||||
mLocation = location;
|
||||
Logger.i(TAG, "接受到的地图模块定位信息");
|
||||
if (mLocInfo != null) {
|
||||
if (location.getErrCode() == 0) {
|
||||
mLocInfo.setText("当前位置:" + location.getAddress());
|
||||
} else {
|
||||
mLocInfo.setText(location.getErrInfo());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapClick(MogoLatLng latLng) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLockMap(boolean isLock) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapModeChanged(EnumMapUI ui) {
|
||||
Logger.d(TAG, ui.name());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
Logger.w(TAG, "onDestroyView position=" + position);
|
||||
super.onDestroyView();
|
||||
getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter);
|
||||
TanluServiceHandler.getLocationClient().removeLocationListener(this);
|
||||
if (mLastClickedMarker != null) {
|
||||
mLastClickedMarker.destroy();
|
||||
mLastClickedMarker = null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,157 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/color_1F7FFF"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_loc_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_add_marker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="上一个" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_add_markers"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="下一个" />
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_clear"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="播放" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_loc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="定位" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_current"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="当前位置" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_2d3d"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="2D/3D" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_traffic"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="交通态势" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_start_navi"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="开始导航" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_stop_navi"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="停止导航" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/demo_module_id_navi_mode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="模拟导航" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_zoom_in"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="放大" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_zoom_out"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="缩小" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_day_light"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="白天" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_day_night"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="黑夜" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_display_overlay"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="全览" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_reverse_lock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="继续导航" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorPrimary">#000000</color>
|
||||
<color name="colorPrimaryDark">#000000</color>
|
||||
<color name="colorAccent">#1F7FFF</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="white_50">#80FFFFFF</color>
|
||||
<color name="color_1E212C">#1E212C</color>
|
||||
<color name="color_1F7FFF">#1F7FFF</color>
|
||||
<color name="color_171F7FFF">#171F7FFF</color>
|
||||
<color name="color_4d191C25">#4d191C25</color>
|
||||
<color name="color_99191C25">#99191C25</color>
|
||||
<color name="color_222533">#222533</color>
|
||||
<color name="color_4B5369">#4B5369</color>
|
||||
<color name="color_9A9A9A">#9A9A9A</color>
|
||||
<color name="color_A2A2A2">#A2A2A2</color>
|
||||
|
||||
</resources>
|
||||
@@ -1,3 +0,0 @@
|
||||
<resources>
|
||||
<string name="app_name">tanlu</string>
|
||||
</resources>
|
||||
@@ -1 +0,0 @@
|
||||
o/full
|
||||
Binary file not shown.
@@ -1 +0,0 @@
|
||||
i/
|
||||
@@ -1,18 +0,0 @@
|
||||
package com.alibaba.android.arouter.routes;
|
||||
|
||||
import com.alibaba.android.arouter.facade.enums.RouteType;
|
||||
import com.alibaba.android.arouter.facade.model.RouteMeta;
|
||||
import com.alibaba.android.arouter.facade.template.IRouteGroup;
|
||||
import com.zhidao.tanlu.TanluCardViewProvider;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */
|
||||
public class ARouter$$Group$$tanlu implements IRouteGroup {
|
||||
@Override
|
||||
public void loadInto(Map<String, RouteMeta> atlas) {
|
||||
atlas.put("/tanlu/ui", RouteMeta.build(RouteType.PROVIDER, TanluCardViewProvider.class, "/tanlu/ui", "tanlu", null, -1, -2147483648));
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package com.alibaba.android.arouter.routes;
|
||||
|
||||
import com.alibaba.android.arouter.facade.enums.RouteType;
|
||||
import com.alibaba.android.arouter.facade.model.RouteMeta;
|
||||
import com.alibaba.android.arouter.facade.template.IProviderGroup;
|
||||
import com.zhidao.tanlu.TanluCardViewProvider;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */
|
||||
public class ARouter$$Providers$$tanlumodule implements IProviderGroup {
|
||||
@Override
|
||||
public void loadInto(Map<String, RouteMeta> providers) {
|
||||
providers.put("com.mogo.service.module.IMogoModuleProvider", RouteMeta.build(RouteType.PROVIDER, TanluCardViewProvider.class, "/tanlu/ui", "tanlu", null, -1, -2147483648));
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.alibaba.android.arouter.routes;
|
||||
|
||||
import com.alibaba.android.arouter.facade.template.IRouteGroup;
|
||||
import com.alibaba.android.arouter.facade.template.IRouteRoot;
|
||||
import java.lang.Class;
|
||||
import java.lang.Override;
|
||||
import java.lang.String;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* DO NOT EDIT THIS FILE!!! IT WAS GENERATED BY AROUTER. */
|
||||
public class ARouter$$Root$$tanlumodule implements IRouteRoot {
|
||||
@Override
|
||||
public void loadInto(Map<String, Class<? extends IRouteGroup>> routes) {
|
||||
routes.put("tanlu", ARouter$$Group$$tanlu.class);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.zhidao.tanlu.test;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String APPLICATION_ID = "com.zhidao.tanlu.test";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 1;
|
||||
public static final String VERSION_NAME = "";
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
/**
|
||||
* Automatically generated file. DO NOT MODIFY
|
||||
*/
|
||||
package com.zhidao.tanlu;
|
||||
|
||||
public final class BuildConfig {
|
||||
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||
public static final String LIBRARY_PACKAGE_NAME = "com.zhidao.tanlu";
|
||||
/**
|
||||
* @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String APPLICATION_ID = "com.zhidao.tanlu";
|
||||
public static final String BUILD_TYPE = "debug";
|
||||
public static final String FLAVOR = "";
|
||||
public static final int VERSION_CODE = 1;
|
||||
public static final String VERSION_NAME = "";
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.zhidao.tanlu"
|
||||
android:versionCode="1" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="19"
|
||||
android:targetSdkVersion="22" />
|
||||
|
||||
</manifest>
|
||||
@@ -1 +0,0 @@
|
||||
[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"","enabled":true,"outputFile":"tanlu-module-debug.aar","fullName":"debug","baseName":"debug"},"path":"AndroidManifest.xml","properties":{"packageId":"com.zhidao.tanlu","split":""}}]
|
||||
@@ -1 +0,0 @@
|
||||
{"jetified-arouter-compiler-1.2.2.jar (com.alibaba:arouter-compiler:1.2.2)":false,"auto-service-1.0-rc2.jar (com.google.auto.service:auto-service:1.0-rc2)":false}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/jniLibs"/></dataSet></merger>
|
||||
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/shaders"/></dataSet></merger>
|
||||
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/assets"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/shader_assets/debug/compileDebugShaders/out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/assets"/></dataSet></merger>
|
||||
@@ -1,5 +0,0 @@
|
||||
#Thu Jan 02 12:10:08 CST 2020
|
||||
/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_info_window.xml=/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/packaged_res/debug/layout/tanlu_module_info_window.xml
|
||||
/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_poi_info_window.xml=/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/packaged_res/debug/layout/tanlu_module_poi_info_window.xml
|
||||
/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_card_view.xml=/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/packaged_res/debug/layout/tanlu_module_card_view.xml
|
||||
/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_bubble_marker.xml=/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/packaged_res/debug/layout/tanlu_module_bubble_marker.xml
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorAccent">#1F7FFF</color>
|
||||
<color name="colorPrimary">#000000</color>
|
||||
<color name="colorPrimaryDark">#000000</color>
|
||||
<color name="color_171F7FFF">#171F7FFF</color>
|
||||
<color name="color_1E212C">#1E212C</color>
|
||||
<color name="color_1F7FFF">#1F7FFF</color>
|
||||
<color name="color_222533">#222533</color>
|
||||
<color name="color_4B5369">#4B5369</color>
|
||||
<color name="color_4d191C25">#4d191C25</color>
|
||||
<color name="color_99191C25">#99191C25</color>
|
||||
<color name="color_9A9A9A">#9A9A9A</color>
|
||||
<color name="color_A2A2A2">#A2A2A2</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="white_50">#80FFFFFF</color>
|
||||
<string name="app_name">tanlu</string>
|
||||
</resources>
|
||||
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/generated/res/rs/debug"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res"><file name="tanlu_module_poi_info_window" path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_poi_info_window.xml" qualifiers="" type="layout"/><file name="tanlu_module_info_window" path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_info_window.xml" qualifiers="" type="layout"/><file name="tanlu_module_bubble_marker" path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_bubble_marker.xml" qualifiers="" type="layout"/><file name="tanlu_module_card_view" path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/layout/tanlu_module_card_view.xml" qualifiers="" type="layout"/><file path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/values/colors.xml" qualifiers=""><color name="colorPrimary">#000000</color><color name="colorPrimaryDark">#000000</color><color name="colorAccent">#1F7FFF</color><color name="white">#FFFFFF</color><color name="white_50">#80FFFFFF</color><color name="color_1E212C">#1E212C</color><color name="color_1F7FFF">#1F7FFF</color><color name="color_171F7FFF">#171F7FFF</color><color name="color_4d191C25">#4d191C25</color><color name="color_99191C25">#99191C25</color><color name="color_222533">#222533</color><color name="color_4B5369">#4B5369</color><color name="color_9A9A9A">#9A9A9A</color><color name="color_A2A2A2">#A2A2A2</color></file><file path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/res/values/strings.xml" qualifiers=""><string name="app_name">tanlu</string></file></source><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/generated/res/rs/debug"/><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/debug/res"/></dataSet><mergedItems/></merger>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.zhidao.tanlu"
|
||||
android:versionCode="1" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="19"
|
||||
android:targetSdkVersion="22" />
|
||||
|
||||
</manifest>
|
||||
@@ -1,45 +0,0 @@
|
||||
R_DEF: Internal format may change without notice
|
||||
local
|
||||
color colorAccent
|
||||
color colorPrimary
|
||||
color colorPrimaryDark
|
||||
color color_171F7FFF
|
||||
color color_1E212C
|
||||
color color_1F7FFF
|
||||
color color_222533
|
||||
color color_4B5369
|
||||
color color_4d191C25
|
||||
color color_99191C25
|
||||
color color_9A9A9A
|
||||
color color_A2A2A2
|
||||
color white
|
||||
color white_50
|
||||
id demo_module_id_2d3d
|
||||
id demo_module_id_add_marker
|
||||
id demo_module_id_add_markers
|
||||
id demo_module_id_clear
|
||||
id demo_module_id_current
|
||||
id demo_module_id_day_light
|
||||
id demo_module_id_day_night
|
||||
id demo_module_id_display_overlay
|
||||
id demo_module_id_iw_navi_stop
|
||||
id demo_module_id_iw_navito
|
||||
id demo_module_id_iw_poi_navito
|
||||
id demo_module_id_iw_poi_title
|
||||
id demo_module_id_iw_refresh
|
||||
id demo_module_id_iw_time
|
||||
id demo_module_id_loc
|
||||
id demo_module_id_loc_info
|
||||
id demo_module_id_navi_mode
|
||||
id demo_module_id_reverse_lock
|
||||
id demo_module_id_start_navi
|
||||
id demo_module_id_stop_navi
|
||||
id demo_module_id_traffic
|
||||
id demo_module_id_zoom_in
|
||||
id demo_module_id_zoom_out
|
||||
id icon
|
||||
layout tanlu_module_bubble_marker
|
||||
layout tanlu_module_card_view
|
||||
layout tanlu_module_info_window
|
||||
layout tanlu_module_poi_info_window
|
||||
string app_name
|
||||
@@ -1,12 +0,0 @@
|
||||
1<?xml version="1.0" encoding="utf-8"?>
|
||||
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
3 package="com.zhidao.tanlu"
|
||||
4 android:versionCode="1" >
|
||||
5
|
||||
6 <uses-sdk
|
||||
7 android:minSdkVersion="19"
|
||||
7-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
8 android:targetSdkVersion="22" />
|
||||
8-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
9
|
||||
10</manifest>
|
||||
@@ -1,93 +0,0 @@
|
||||
1<?xml version="1.0" encoding="utf-8"?>
|
||||
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
3 package="com.zhidao.tanlu.test" >
|
||||
4
|
||||
5 <uses-sdk
|
||||
5-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:5:5-74
|
||||
6 android:minSdkVersion="19"
|
||||
6-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:5:15-41
|
||||
7 android:targetSdkVersion="22" />
|
||||
7-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:5:42-71
|
||||
8
|
||||
9 <instrumentation
|
||||
9-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:11:5-15:71
|
||||
10 android:name="androidx.test.runner.AndroidJUnitRunner"
|
||||
10-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:11:22-76
|
||||
11 android:functionalTest="false"
|
||||
11-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:14:22-52
|
||||
12 android:handleProfiling="false"
|
||||
12-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:13:22-53
|
||||
13 android:label="Tests for com.zhidao.tanlu.test"
|
||||
13-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:15:22-69
|
||||
14 android:targetPackage="com.zhidao.tanlu.test" />
|
||||
14-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:12:22-67
|
||||
15
|
||||
16 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
16-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:11:5-75
|
||||
16-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:11:22-72
|
||||
17 <uses-permission android:name="com.zhidao.auto.personal.info.Read" />
|
||||
17-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:12:5-74
|
||||
17-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:12:22-71
|
||||
18 <uses-permission android:name="com.zhidao.datacrawler.bindstatus.Read" />
|
||||
18-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:13:5-78
|
||||
18-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:13:22-75
|
||||
19 <uses-permission android:name="com.zhidao.datacrawler.bindstatus.PROVIDER" /> <!-- 允许程序打开网络套接字 -->
|
||||
19-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:14:5-82
|
||||
19-->[com.zhidaoauto.common:service:1.0.4] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/6f35db5c074d2c45fb1a367e20933413/service-1.0.4/AndroidManifest.xml:14:22-79
|
||||
20 <uses-permission android:name="android.permission.INTERNET" /> <!-- 允许程序设置内置sd卡的写权限 -->
|
||||
20-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:11:5-67
|
||||
20-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:11:22-64
|
||||
21 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 允许程序获取网络状态 -->
|
||||
21-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:13:5-81
|
||||
21-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:13:22-78
|
||||
22 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 允许程序访问WiFi网络信息 -->
|
||||
22-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:15:5-79
|
||||
22-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:15:22-76
|
||||
23 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许程序访问CellID或WiFi热点来获取粗略的位置 -->
|
||||
23-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:17:5-76
|
||||
23-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:17:22-73
|
||||
24 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
24-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:21:5-81
|
||||
24-->[:libraries:mogo-map] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/mogo-map/build/intermediates/library_manifest/debug/AndroidManifest.xml:21:22-78
|
||||
25 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
25-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:16:5-80
|
||||
25-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:16:22-77
|
||||
26 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
26-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:17:5-79
|
||||
26-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:17:22-76
|
||||
27 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
27-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:18:5-76
|
||||
27-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:18:22-73
|
||||
28 <uses-permission android:name="android.permission.GET_TASKS" />
|
||||
28-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:19:5-68
|
||||
28-->[com.elegant.analytics:analytics:1.1.19] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/f4667868f2d4830d9222c07d43f1f5e7/jetified-analytics-1.1.19/AndroidManifest.xml:19:22-65
|
||||
29
|
||||
30 <application
|
||||
30-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:7:5-9:19
|
||||
31 android:appComponentFactory="androidx.core.app.CoreComponentFactory"
|
||||
31-->[androidx.core:core:1.0.1] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/792eab6592a043223b4e9fdbb11263d5/core-1.0.1/AndroidManifest.xml:22:18-86
|
||||
32 android:debuggable="true" >
|
||||
32-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:7:18-43
|
||||
33 <uses-library android:name="android.test.runner" />
|
||||
33-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:8:9-60
|
||||
33-->/Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger3783448956662302639.xml:8:23-57
|
||||
34 <!-- 高德地图 -->
|
||||
35 <meta-data
|
||||
35-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:14:9-16:64
|
||||
36 android:name="com.amap.api.v2.apikey"
|
||||
36-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:15:13-50
|
||||
37 android:value="a36b9f7b086fa3951bb35338a5a06dd3" /> <!-- 定位服务 -->
|
||||
37-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:16:13-61
|
||||
38 <service android:name="com.amap.api.location.APSService" />
|
||||
38-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:18:9-68
|
||||
38-->[:libraries:map-amap] /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/libraries/map-amap/build/intermediates/library_manifest/debug/AndroidManifest.xml:18:18-65
|
||||
39
|
||||
40 <meta-data
|
||||
40-->[com.github.bumptech.glide:okhttp3-integration:4.8.0] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/7427658adcabdb17ef6ff27105c7a4fd/jetified-okhttp3-integration-4.8.0/AndroidManifest.xml:11:9-13:43
|
||||
41 android:name="com.bumptech.glide.integration.okhttp3.OkHttpGlideModule"
|
||||
41-->[com.github.bumptech.glide:okhttp3-integration:4.8.0] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/7427658adcabdb17ef6ff27105c7a4fd/jetified-okhttp3-integration-4.8.0/AndroidManifest.xml:12:13-84
|
||||
42 android:value="GlideModule" />
|
||||
42-->[com.github.bumptech.glide:okhttp3-integration:4.8.0] /Users/congtaowang/.gradle/caches/transforms-2/files-2.1/7427658adcabdb17ef6ff27105c7a4fd/jetified-okhttp3-integration-4.8.0/AndroidManifest.xml:13:13-40
|
||||
43 </application>
|
||||
44
|
||||
45</manifest>
|
||||
@@ -1 +0,0 @@
|
||||
[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"","enabled":true,"outputFile":"tanlu-module-debug.aar","fullName":"debug","baseName":"debug"},"path":"../../library_manifest/debug/AndroidManifest.xml","properties":{"packageId":"com.zhidao.tanlu","split":""}}]
|
||||
@@ -1,45 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.zhidao.tanlu.test" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="19"
|
||||
android:targetSdkVersion="22" />
|
||||
|
||||
<instrumentation
|
||||
android:name="androidx.test.runner.AndroidJUnitRunner"
|
||||
android:functionalTest="false"
|
||||
android:handleProfiling="false"
|
||||
android:label="Tests for com.zhidao.tanlu.test"
|
||||
android:targetPackage="com.zhidao.tanlu.test" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="com.zhidao.auto.personal.info.Read" />
|
||||
<uses-permission android:name="com.zhidao.datacrawler.bindstatus.Read" />
|
||||
<uses-permission android:name="com.zhidao.datacrawler.bindstatus.PROVIDER" /> <!-- 允许程序打开网络套接字 -->
|
||||
<uses-permission android:name="android.permission.INTERNET" /> <!-- 允许程序设置内置sd卡的写权限 -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 允许程序获取网络状态 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 允许程序访问WiFi网络信息 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 允许程序访问CellID或WiFi热点来获取粗略的位置 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
|
||||
<application
|
||||
android:appComponentFactory="androidx.core.app.CoreComponentFactory"
|
||||
android:debuggable="true" >
|
||||
<uses-library android:name="android.test.runner" />
|
||||
<!-- 高德地图 -->
|
||||
<meta-data
|
||||
android:name="com.amap.api.v2.apikey"
|
||||
android:value="a36b9f7b086fa3951bb35338a5a06dd3" /> <!-- 定位服务 -->
|
||||
<service android:name="com.amap.api.location.APSService" />
|
||||
|
||||
<meta-data
|
||||
android:name="com.bumptech.glide.integration.okhttp3.OkHttpGlideModule"
|
||||
android:value="GlideModule" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -1 +0,0 @@
|
||||
[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"","enabled":true,"outputFile":"tanlu-module-debug-androidTest.apk","fullName":"debugAndroidTest","baseName":"debug-androidTest"},"path":"AndroidManifest.xml","properties":{}}]
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:miv_placeHolder="@drawable/ic_amap_app_main_current_location_bkg"
|
||||
app:miv_shape="circle" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_search_poi_location"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/icon" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,157 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/color_1F7FFF"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_loc_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_add_marker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="上一个" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_add_markers"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="下一个" />
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_clear"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="播放" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_loc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="定位" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_current"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="当前位置" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_2d3d"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="2D/3D" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_traffic"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="交通态势" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_start_navi"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="开始导航" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_stop_navi"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="停止导航" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/demo_module_id_navi_mode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="模拟导航" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_zoom_in"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="放大" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_zoom_out"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="缩小" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_day_light"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="白天" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_day_night"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="黑夜" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone">
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_display_overlay"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="全览" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_reverse_lock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="继续导航" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#ff0000">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_iw_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_refresh"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="点击刷新当前时间"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_navito"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="70dp"
|
||||
android:text="导航去这里"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_navi_stop"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="120dp"
|
||||
android:text="停止导航"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#ff0000">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/demo_module_id_iw_poi_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo_module_id_iw_poi_navito"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="70dp"
|
||||
android:text="导航去这里"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorAccent">#1F7FFF</color>
|
||||
<color name="colorPrimary">#000000</color>
|
||||
<color name="colorPrimaryDark">#000000</color>
|
||||
<color name="color_171F7FFF">#171F7FFF</color>
|
||||
<color name="color_1E212C">#1E212C</color>
|
||||
<color name="color_1F7FFF">#1F7FFF</color>
|
||||
<color name="color_222533">#222533</color>
|
||||
<color name="color_4B5369">#4B5369</color>
|
||||
<color name="color_4d191C25">#4d191C25</color>
|
||||
<color name="color_99191C25">#99191C25</color>
|
||||
<color name="color_9A9A9A">#9A9A9A</color>
|
||||
<color name="color_A2A2A2">#A2A2A2</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="white_50">#80FFFFFF</color>
|
||||
<string name="app_name">tanlu</string>
|
||||
</resources>
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1,31 +0,0 @@
|
||||
-- Merging decision tree log ---
|
||||
manifest
|
||||
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
|
||||
package
|
||||
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:2:5-31
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
android:versionCode
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:1-2:34
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
xmlns:android
|
||||
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml:1:11-69
|
||||
uses-sdk
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml reason: use-sdk injection requested
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
android:targetSdkVersion
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
android:minSdkVersion
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
ADDED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
INJECTED from /Users/congtaowang/Public/AndroidStudioProjects/zhidao/yycp/MogoLauncher/demo/tanlu-module/src/main/AndroidManifest.xml
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user