地图依赖重构

This commit is contained in:
wangcongtao
2020-12-13 11:04:44 +08:00
parent 6fee5deaca
commit 564b1356a1
59 changed files with 1033 additions and 626 deletions

View File

@@ -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." );
}
}

View File

@@ -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() {