diff --git a/.idea/misc.xml b/.idea/misc.xml index 8a8f75bfe2..703e5d4b89 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,7 +5,7 @@ - + diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluCardViewFragment.java deleted file mode 100644 index 26d424d0c1..0000000000 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluCardViewFragment.java +++ /dev/null @@ -1,298 +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> - 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"); - - TanluServiceHandler.getPoiSearch().setPoiSearchListener(this); - mLocation = TanluServiceHandler.getLocationClient().getLastKnowLocation(); - - 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 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 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())); - } - }); - - 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 accOn() { - - } - - @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 onMapChanged( MogoLatLng location, float zoom, float tilt, float bearing ) { - - } - - @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; - } - } - -} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluCardViewProvider.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluCardViewProvider.java deleted file mode 100644 index cff3d92473..0000000000 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluCardViewProvider.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.mogo.tanlu; - -import android.content.Context; -import android.os.Bundle; -import android.view.View; - -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.navi.IMogoNaviListener; -import com.mogo.service.module.IMogoModuleLifecycle; -import com.mogo.service.module.IMogoModuleProvider; -import com.mogo.utils.logger.Logger; - -/** - * @author congtaowang - * @since 2019-12-24 - *

- * 描述 - */ -@Route( path = TanluConstants.TAG ) -public class TanluCardViewProvider implements IMogoModuleProvider { - - private static final String TAG = "TanluCardViewProvider"; - - private TanluCardViewFragment fragment; - - @Override - public Fragment createFragment( Context context, Bundle data ) { - fragment = new TanluCardViewFragment(); - fragment.setArguments( data ); - Logger.i( TAG, "createFragment" ); - return fragment; - } - - @Override - public void init( Context context ) { - TanluServiceHandler.init( context ); - } - - @Override - public String getModuleName() { - return TanluConstants.TAG; - } - - @Override - public IMogoModuleLifecycle getCardLifecycle() { - return fragment; - } - - @Override - public View createView( Context context ) { - // don't - return null; - } - - @Override - public IMogoMapListener getMapListener() { - return fragment; - } - - @Override - public int getType() { - return IMogoModuleProvider.TYPE_FRAGMENT; - } - - @Override - public IMogoNaviListener getNaviListener() { - return null; - } - - @Override - public IMogoLocationListener getLocationListener() { - return fragment; - } - -} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluConstants.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluConstants.java deleted file mode 100644 index 8eafc95191..0000000000 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluConstants.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.mogo.tanlu; - -/** - * @author congtaowang - * @since 2019-12-24 - *

- * 描述 - */ -public class TanluConstants { - - public static final String TAG = "/tanlu/ui"; -} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluInfoWindowAdapter.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluInfoWindowAdapter.java deleted file mode 100644 index ffa9a0d294..0000000000 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluInfoWindowAdapter.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.mogo.tanlu; - -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 - *

- * 描述 - */ -public class TanluInfoWindowAdapter implements IMogoInfoWindowAdapter { - - private static final String TAG = "DemoInfoWindowAdapter"; - - private Context mContext; - private IMogoNavi mNavi; - private IMogoImageloader mImageloader; - - public TanluInfoWindowAdapter(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.tanlu_poi_info_window, null ); - renderPoiVew( view, marker, ( ( MogoPoiItem ) marker.getObject() ) ); - return view; - } else { - View view = LayoutInflater.from( mContext ).inflate( R.layout.tanlu_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.tanlu_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; - } -} - diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluServiceHandler.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluServiceHandler.java deleted file mode 100644 index cd7591ab19..0000000000 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/TanluServiceHandler.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.mogo.tanlu; - -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 - *

- * 持有服务接口实例 - */ -public class TanluServiceHandler { - - 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; - } -}