Files
MoGoEagleEye/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.java
2023-09-11 15:47:35 +08:00

121 lines
3.0 KiB
Java

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
* <p>
* 地图实例
*/
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);
}
}