package com.mogo.map; import android.content.Context; import android.os.Bundle; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import androidx.annotation.Nullable; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.map.uicontroller.IMogoMapUIController; import com.zhidaoauto.map.sdk.open.view.MapAutoView; import com.zhidaoauto.map.sdk.open.view.MapStyleParams; /** * @author congtaowang * @since 2019-12-18 *
* 地图实例 */ public class MogoMapView extends MogoBaseMapView implements ILifeCycle { private static final String TAG = "MogoMapView"; public MogoMapView(Context context) { super(context); } public MogoMapView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public MogoMapView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } private MapAutoView mapAutoView; @Override protected void addMapView(Context context, AttributeSet attrs) { if (mapAutoView == null) { if (getStyleParams() == null) { mapAutoView = new MapAutoView(context, attrs); } else { mapAutoView = new MapAutoView(context, getStyleParams()); } } if (mMapView == null) { mMapView = new AMapViewWrapper(mapAutoView); final View mapView = mMapView.getMapView(); if (mapView != null) { addView(mapView, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); } else { CallerLogger.e(TAG, "create MapView instance failed."); } } } /** * 子类实现 * 代码StyleParams和XML初始化设置同时仅支持一种 * * @return MapStyleParams */ protected MapStyleParams getStyleParams() { return null; } protected IMogoMapUIController getUIController(){ return mMapView.getMap().getUiController(); } @Override protected String getInstanceTag() { return MogoMap.DEFAULT; } @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); CallerLogger.d(TAG, "onCreate"); } @Override public void onResume() { super.onResume(); CallerLogger.d(TAG, "onResume"); } @Override public void onPause() { super.onPause(); CallerLogger.d(TAG, "onPause"); } @Override public void onDestroy() { super.onDestroy(); CallerLogger.d(TAG, "onDestroy"); } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } @Override public void onLowMemory() { super.onLowMemory(); } public void setExtraGPSData(MogoLocation gnssInfo) { getMap().getUiController().setExtraGPSData(gnssInfo); } }