121 lines
3.0 KiB
Java
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);
|
|
}
|
|
|
|
}
|