[Update]Map按照新架构重构

This commit is contained in:
chenfufeng
2022-03-16 17:50:57 +08:00
parent 95c7251b54
commit 989f59678d
111 changed files with 5552 additions and 524 deletions

View File

@@ -0,0 +1,90 @@
package com.mogo.map;
import android.content.Context;
import android.util.Log;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
import com.mogo.map.location.ALocationClient;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.search.GeocodeSearchClient;
import com.mogo.map.search.PoiSearchClient;
import com.mogo.map.search.geo.IMogoGeoSearch;
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.AMapUIController;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.zhidaoauto.map.sdk.open.MapAutoApi;
import com.zhidaoauto.map.sdk.open.MapParams;
import com.zhidaoauto.map.sdk.open.view.MapAutoView;
/**
* @author congtaowang
* @since 2020/12/9
* <p>
* 描述
*/
@Route(path = MapApiPath.PATH)
public class CustomMapApiBuilder implements IMogoMapApiBuilder {
private static final String TAG = "CustomMapApiBuilder";
@Override
public IMogoGeoSearch getGeoSearch(Context context) {
return new GeocodeSearchClient(context);
}
@Override
public IMogoLocationClient getLocationClient(Context context) {
return new ALocationClient(context);
}
@Override
public IMogoMapUIController getMapUIController() {
return AMapUIController.getInstance();
}
@Override
public IMogoPoiSearch getPoiSearchClient(Context context, MogoPoiSearchQuery query) {
return new PoiSearchClient(context, query);
}
@Override
public IMogoMapView getMapView(Context context) {
Log.d(TAG, "setDebugMode==true");
MapParams mapParams = MapParams.Companion.init();
mapParams.setDebugMode(false)
//todo 1-使用本地地图数据0-使用在线地图数据
//.setDataFileSource(1)
.setCoordinateType(MapParams.COORDINATETYPE_GCJ02)
.setPerspectiveMode(MapParams.MAP_PERSPECTIVE_3D)
// .setZoom( 20 )
// .setPointToCenter( 0.734375f, 0.5f )
//todo 2D模式下需要注意ADAS部分遮挡
.setPointToCenter(0.5f, 0.5f)
.setStyleMode(MapParams.MAP_STYLE_VR);
MapAutoApi.INSTANCE.init(context, mapParams);
MapAutoView mapAutoView = new MapAutoView(context);
//mapAutoView.registerRenderListener(l -> Log.i(TAG, "renderTime: " + l));
IMogoMapView mapView = new AMapViewWrapper(mapAutoView);
return mapView;
}
@Override
public IMogoTrafficSearch getTrafficSearch() {
return null;
}
@Override
public void destroy() {
}
@Override
public void init(Context context) {
Logger.d(TAG, "init");
}
}