diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index 1ddd0337b9..e705ae6eac 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -488,4 +488,13 @@ public class AMapNaviViewWrapper implements IMogoMapView, } return null; } + + @Override + public void setPointToCenter( double mapCenterX, double mapCenterY ) { + if ( checkAMapView() ) { + AMapNaviViewOptions options = mMapView.getViewOptions(); + options.setPointToCenter( mapCenterX, mapCenterY ); + mMapView.setViewOptions( options ); + } + } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java index aaba68efe3..26e98dee48 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java @@ -129,4 +129,11 @@ public class AMapUIController implements IMogoMapUIController { } return null; } + + @Override + public void setPointToCenter( double mapCenterX, double mapCenterY ) { + if ( mClient != null ) { + mClient.setPointToCenter( mapCenterX, mapCenterY ); + } + } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java index e0f5e57790..a9968af5ec 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java @@ -87,4 +87,12 @@ public interface IMogoMapUIController { * @return */ MogoLatLng getCameraSouthWestPosition(); + + /** + * 设置地图中心点 + * + * @param mapCenterX x 点位置x值与地图宽度的比例 + * @param mapCenterY y 点位置x值与地图高度的比例 + */ + void setPointToCenter( double mapCenterX, double mapCenterY ); } diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/map_api_ic_current_location.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/map_api_ic_current_location.png index 58f3550408..65cecf9af2 100644 Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/map_api_ic_current_location.png and b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/map_api_ic_current_location.png differ diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index 3c58121cd9..b6ab623020 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -122,4 +122,11 @@ public class MogoMapUIController implements IMogoMapUIController { } return null; } + + @Override + public void setPointToCenter( double mapCenterX, double mapCenterY ) { + if ( mDelegate != null ) { + mDelegate.setPointToCenter( mapCenterX, mapCenterY ); + } + } } diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsFragmentProvider.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsFragmentProvider.java index 09a6a429e8..0a83e3b9d6 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsFragmentProvider.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsFragmentProvider.java @@ -10,6 +10,7 @@ import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationListener; +import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.module.common.MogoModulePaths; import com.mogo.service.module.IMogoModuleLifecycle; @@ -75,4 +76,9 @@ public class AppsFragmentProvider implements IMogoModuleProvider { public void init( Context context ) { } + + @Override + public IMogoMarkerClickListener getMarkerClickListener() { + return null; + } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleProvider.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleProvider.java index 2a9ff20faf..991ef5d737 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleProvider.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleProvider.java @@ -10,6 +10,7 @@ import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationListener; +import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.service.module.IMogoModuleLifecycle; import com.mogo.service.module.IMogoModuleProvider; @@ -71,4 +72,9 @@ public class ExtensionsModuleProvider implements IMogoModuleProvider { public void init( Context context ) { } + + @Override + public IMogoMarkerClickListener getMarkerClickListener() { + return null; + } } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index 336b8bf097..34d5cd812c 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -1,7 +1,11 @@ package com.mogo.module.extensions.entrance; +import android.app.Activity; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.View; +import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -60,6 +64,11 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mSearch = findViewById( R.id.module_map_id_search ); mSearch.setOnClickListener( view -> { + + ViewGroup group = ( ( Activity ) getContext() ).findViewById( android.R.id.content ); + final View child = new View(getContext()); + child.setBackground( new ColorDrawable( Color.RED ) ); + group.addView( child ); } ); mHome = findViewById( R.id.module_map_id_home ); diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java index fdc5b86988..6e818b3d9c 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java @@ -10,6 +10,7 @@ import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationListener; +import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.module.extensions.ExtensionsModuleConst; import com.mogo.service.module.IMogoModuleLifecycle; @@ -72,4 +73,9 @@ public class EntranceProvider implements IMogoModuleProvider { public void init( Context context ) { } + + @Override + public IMogoMarkerClickListener getMarkerClickListener() { + return null; + } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 853740fe9e..897daa5f61 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -12,6 +12,7 @@ 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.uicontroller.IMogoMapUIController; import com.mogo.module.common.MogoModule; import com.mogo.module.common.MogoModulePaths; import com.mogo.module.extensions.ExtensionsModuleConst; @@ -21,6 +22,7 @@ import com.mogo.module.main.cards.MogoModulesManager; import com.mogo.module.main.cards.OnPageChangeListenerAdapter; import com.mogo.module.main.cards.OrientedViewPager; import com.mogo.module.main.cards.VerticalStackTransformer; +import com.mogo.module.main.fragmentmanager.FragmentStack; import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.ServiceConst; import com.mogo.service.MogoServicePaths; @@ -44,6 +46,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme private static final String TAG = "MainActivity"; private IMogoMapService mMogoMapService; + private IMogoMapUIController mMogoMapUIController; private MogoModulesHandler mMogoModuleHandler; private IMogoSocketManager mMogoSocketManager; @@ -79,6 +82,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme } } } ); + + FragmentStack.getInstance().init( this, R.id.module_main_id_search_fragment ); } @Override @@ -99,12 +104,16 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this ); } + mMogoMapUIController = mMogoMapService.getMapUIController(); + mMogoModuleHandler.loadModules(); mMogoModuleHandler.onMapLoadedCallback( new Runnable() { @Override public void run() { Logger.d( TAG, "map loaded." + Thread.currentThread().getName() ); loadModules(); + + mMogoMapUIController.setPointToCenter( 0.66145, 0.590688 ); } } ); // 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。 @@ -163,6 +172,14 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme } } + @Override + public void onBackPressed() { + super.onBackPressed(); + if ( getSupportFragmentManager().getBackStackEntryCount() > 0 ) { + getSupportFragmentManager().popBackStack(); + } + } + @Override protected void onDestroy() { super.onDestroy(); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/fragmentmanager/FragmentStack.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/fragmentmanager/FragmentStack.java new file mode 100644 index 0000000000..42d6b9c350 --- /dev/null +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/fragmentmanager/FragmentStack.java @@ -0,0 +1,114 @@ +package com.mogo.module.main.fragmentmanager; + +import android.app.Activity; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + +import com.mogo.utils.logger.Logger; + +import java.util.Stack; + +/** + * @author congtaowang + * @since 2020-01-08 + *

+ * fragment 任务栈 + */ +public class FragmentStack { + + private static final String TAG = "FragmentStack"; + + private static volatile FragmentStack sInstance; + + private Stack< Fragment > mFragmentStack = new Stack<>(); + private FragmentManager mFragmentManager; + private FragmentTransaction mFragmentTransaction; + private int mContainerId; + private Activity mActivity; + private Fragment mCurrentFragment; + + private FragmentStackTransactionListener mFragmentStackTransactionListener; + + private FragmentStack() { + } + + public static FragmentStack getInstance() { + if ( sInstance == null ) { + synchronized ( FragmentStack.class ) { + if ( sInstance == null ) { + sInstance = new FragmentStack(); + } + } + } + return sInstance; + } + + public synchronized void release() { + sInstance = null; + } + + public void init( AppCompatActivity activity, int containerId ) { + mActivity = activity; + mFragmentManager = activity.getSupportFragmentManager(); + mContainerId = containerId; + mFragmentTransaction = mFragmentManager.beginTransaction(); + } + + public void push( Fragment fragment, String tag ) { + if ( fragment == null ) { + return; + } + if ( mFragmentStack.contains( fragment ) ) { + Logger.w( TAG, "fragment has already in stack." ); + return; + } + if ( mCurrentFragment != null ) { + mFragmentTransaction.hide( mCurrentFragment ); + } + mFragmentTransaction.add( mContainerId, fragment, tag ); + mFragmentTransaction.addToBackStack( null ); + mFragmentTransaction.commitAllowingStateLoss(); + mFragmentStack.push( fragment ); + mCurrentFragment = fragment; + + if ( getFragmentStackTransactionListener() != null ) { + getFragmentStackTransactionListener().onTransaction(); + } + } + + public void pop() { + if ( mCurrentFragment != null ) { + mFragmentTransaction.remove( mCurrentFragment ); + } + if ( mFragmentStack.isEmpty() ) { + mFragmentTransaction.commitAllowingStateLoss(); + mCurrentFragment = null; + } else { + Fragment fragment = mFragmentStack.pop(); + if ( fragment != null ) { + mFragmentTransaction.show( fragment ); + mFragmentTransaction.commitAllowingStateLoss(); + } + mCurrentFragment = fragment; + } + + if ( getFragmentStackTransactionListener() != null ) { + getFragmentStackTransactionListener().onTransaction(); + } + } + + public boolean isEmpty() { + return mFragmentStack.isEmpty(); + } + + public FragmentStackTransactionListener getFragmentStackTransactionListener() { + return mFragmentStackTransactionListener; + } + + public void setFragmentStackTransactionListener( FragmentStackTransactionListener fragmentStackTransactionListener ) { + this.mFragmentStackTransactionListener = fragmentStackTransactionListener; + } +} diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/fragmentmanager/FragmentStackTransactionListener.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/fragmentmanager/FragmentStackTransactionListener.java new file mode 100644 index 0000000000..628a6ec496 --- /dev/null +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/fragmentmanager/FragmentStackTransactionListener.java @@ -0,0 +1,12 @@ +package com.mogo.module.main.fragmentmanager; + +/** + * @author congtaowang + * @since 2020-01-08 + *

+ * fragment 栈发生变化 + */ +public interface FragmentStackTransactionListener { + + void onTransaction(); +} diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/fragmentmanager/MogoFragmentManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/fragmentmanager/MogoFragmentManager.java new file mode 100644 index 0000000000..40a364fdb9 --- /dev/null +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/fragmentmanager/MogoFragmentManager.java @@ -0,0 +1,34 @@ +package com.mogo.module.main.fragmentmanager; + +import android.content.Context; + +import androidx.fragment.app.Fragment; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.mogo.service.MogoServicePaths; +import com.mogo.service.fragmentmanager.IMogoFragmentManager; + +/** + * @author congtaowang + * @since 2020-01-08 + *

+ * 描述 + */ +@Route( path = MogoServicePaths.PATH_FRAGMENT_MANAGER ) +public class MogoFragmentManager implements IMogoFragmentManager { + + @Override + public void push( Fragment fragment, String tag ) { + FragmentStack.getInstance().push( fragment, tag ); + } + + @Override + public void pop() { + FragmentStack.getInstance().pop(); + } + + @Override + public void init( Context context ) { + + } +} diff --git a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml index da46c8d320..5fa6036a70 100644 --- a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml +++ b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml @@ -56,4 +56,10 @@ + + + \ No newline at end of file diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragmentProvider.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragmentProvider.java index c35cfb054a..86038c722e 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragmentProvider.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragmentProvider.java @@ -10,6 +10,7 @@ import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationListener; +import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.module.common.MogoModulePaths; import com.mogo.service.module.IMogoModuleLifecycle; @@ -75,4 +76,9 @@ public class MapFragmentProvider implements IMogoModuleProvider { public IMogoLocationListener getLocationListener() { return null; } + + @Override + public IMogoMarkerClickListener getMarkerClickListener() { + return null; + } } diff --git a/modules/mogo-module-navi/src/main/java/com/mogo/module/navi/ui/search/SearchFragmentProvider.java b/modules/mogo-module-navi/src/main/java/com/mogo/module/navi/ui/search/SearchFragmentProvider.java index faa155aa31..8c8bb585fa 100644 --- a/modules/mogo-module-navi/src/main/java/com/mogo/module/navi/ui/search/SearchFragmentProvider.java +++ b/modules/mogo-module-navi/src/main/java/com/mogo/module/navi/ui/search/SearchFragmentProvider.java @@ -8,6 +8,7 @@ import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationListener; +import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.module.common.MogoModulePaths; import com.mogo.service.module.IMogoModuleLifecycle; @@ -73,4 +74,9 @@ public class SearchFragmentProvider implements IMogoModuleProvider { public void init( Context context ) { } + + @Override + public IMogoMarkerClickListener getMarkerClickListener() { + return null; + } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index 5d07ec40a8..0d41f56a8c 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -18,6 +18,7 @@ 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.IMogoMarkerClickListener; import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.model.MogoPoi; import com.mogo.map.navi.IMogoNaviListener; @@ -421,4 +422,9 @@ public class MogoServiceProvider implements IMogoModuleProvider, mRefreshRemainingTime += mAutoRefreshStrategy.getInterruptInterval(); } } + + @Override + public IMogoMarkerClickListener getMarkerClickListener() { + return null; + } } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewProvider.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewProvider.java index 8710a2a56f..b804bd33e0 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewProvider.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewProvider.java @@ -9,6 +9,7 @@ import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationListener; +import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.service.module.IMogoModuleLifecycle; import com.mogo.service.module.IMogoModuleProvider; @@ -77,4 +78,8 @@ public class TanluCardViewProvider implements IMogoModuleProvider { return fragment; } + @Override + public IMogoMarkerClickListener getMarkerClickListener() { + return null; + } } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java index 75a082790c..b92f25e79e 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java @@ -65,4 +65,9 @@ public class MogoServicePaths { * 卡片控制 */ public static final String PATH_CARD_MANAGER = "/cardmanager/api"; + + /** + * 管理 fragment + */ + public static final String PATH_FRAGMENT_MANAGER = "/fragmentmanager/api"; } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/fragmentmanager/IMogoFragmentManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/fragmentmanager/IMogoFragmentManager.java new file mode 100644 index 0000000000..7d9e7e79b7 --- /dev/null +++ b/services/mogo-service-api/src/main/java/com/mogo/service/fragmentmanager/IMogoFragmentManager.java @@ -0,0 +1,27 @@ +package com.mogo.service.fragmentmanager; + +import androidx.fragment.app.Fragment; + +import com.alibaba.android.arouter.facade.template.IProvider; + +/** + * @author congtaowang + * @since 2020-01-08 + *

+ * fragment 管理接口 + */ +public interface IMogoFragmentManager extends IProvider { + + /** + * 显示fragment并加入回退栈 + * + * @param fragment 需要显示的fragment + * @param tag fragment的tag + */ + void push( Fragment fragment, String tag ); + + /** + * 将当前 fragment 出栈 + */ + void pop(); +} diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java index 9c88e7ad3f..7e6ddc1b1b 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java @@ -10,6 +10,7 @@ import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.template.IProvider; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationListener; +import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoNaviListener; /** @@ -80,4 +81,11 @@ public interface IMogoModuleProvider extends IProvider { * @return */ IMogoLocationListener getLocationListener(); + + /** + * marker 点击回调 + * + * @return + */ + IMogoMarkerClickListener getMarkerClickListener(); }