地图依赖重构
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
package com.mogo.map.impl.amap;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.map.IMogoMapApiBuilder;
|
||||
import com.mogo.map.IMogoMapView;
|
||||
import com.mogo.map.MapApiPath;
|
||||
import com.mogo.map.impl.amap.location.ALocationClient;
|
||||
import com.mogo.map.impl.amap.navi.AimlessClient;
|
||||
import com.mogo.map.impl.amap.navi.NaviClient;
|
||||
import com.mogo.map.impl.amap.search.GeocodeSearchClient;
|
||||
import com.mogo.map.impl.amap.search.InputtipsSearch;
|
||||
import com.mogo.map.impl.amap.search.PoiSearchClient;
|
||||
import com.mogo.map.impl.amap.search.RoadSearchClient;
|
||||
import com.mogo.map.impl.amap.search.TrafficSearchClient;
|
||||
import com.mogo.map.impl.amap.uicontroller.AMapUIController;
|
||||
import com.mogo.map.impl.amap.utils.IconTypeUtils;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.map.navi.IMogoAimless;
|
||||
import com.mogo.map.navi.IMogoNavi;
|
||||
import com.mogo.map.search.drive.IMogoRoadSearch;
|
||||
import com.mogo.map.search.geo.IMogoGeoSearch;
|
||||
import com.mogo.map.search.inputtips.IMogoInputtipsSearch;
|
||||
import com.mogo.map.search.inputtips.query.MogoInputtipsQuery;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearch;
|
||||
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
|
||||
import com.mogo.map.search.traffic.IMogoTrafficSearch;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
public
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020/12/9
|
||||
*
|
||||
* 描述
|
||||
*/
|
||||
@Route( path = MapApiPath.PATH )
|
||||
class AMapApiBuilder implements IMogoMapApiBuilder {
|
||||
|
||||
private static final String TAG = "AMapApiBuilder";
|
||||
|
||||
@Override
|
||||
public IMogoGeoSearch getGeoSearch( Context context ) {
|
||||
return new GeocodeSearchClient( context );
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoInputtipsSearch getInputtipsSearch( Context context, MogoInputtipsQuery query ) {
|
||||
return new InputtipsSearch( context, query );
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoLocationClient getLocationClient( Context context ) {
|
||||
return new ALocationClient( context );
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMapUIController getMapUIController() {
|
||||
return AMapUIController.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoNavi getNavi( Context context ) {
|
||||
return NaviClient.getInstance( context );
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoPoiSearch getPoiSearchClient( Context context, MogoPoiSearchQuery query ) {
|
||||
return new PoiSearchClient( context, query );
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoRoadSearch getRoadSearch() {
|
||||
return new RoadSearchClient();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoAimless getAimless( Context context ) {
|
||||
return AimlessClient.getInstance( context );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createMapView( Context context ) {
|
||||
AMapViewHandler.createMapView( context );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
AMapViewHandler.destroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMapView getMapView( Context context ) {
|
||||
IMogoMapView mapView = AMapViewHandler.getMapView();
|
||||
if ( mapView != null
|
||||
&& mapView.getMapView() != null
|
||||
&& mapView.getMapView().getParent() != null ) {
|
||||
ViewGroup group = ( ViewGroup ) mapView.getMapView().getParent();
|
||||
group.removeView( mapView.getMapView() );
|
||||
}
|
||||
return mapView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoTrafficSearch getTrafficSearch() {
|
||||
return new TrafficSearchClient();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getResIdByIconType( Context context, int iconType ) {
|
||||
return IconTypeUtils.getResIdByIconType( context, iconType );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init( Context context ) {
|
||||
Logger.d( TAG, "init." );
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,7 @@ class AMapViewHandler {
|
||||
|
||||
public static void createMapView( Context context ) {
|
||||
sMapView = new AMapNaviViewWrapper( new AMapNaviView( context ) );
|
||||
Logger.d( TAG, "created." );
|
||||
}
|
||||
|
||||
public static IMogoMapView getMapView() {
|
||||
|
||||
Reference in New Issue
Block a user