add new func
This commit is contained in:
@@ -3,9 +3,9 @@ package com.mogo.map.listener;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.location.MogoLocation;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.map.uicontroller.VisualAngleMode;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -18,42 +18,56 @@ public interface IMogoMapListener {
|
||||
/**
|
||||
* 地图加载完毕
|
||||
*/
|
||||
default void onMapLoaded(){};
|
||||
default void onMapLoaded() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 地图点击
|
||||
*
|
||||
* @param motionEvent
|
||||
*/
|
||||
default void onTouch( MotionEvent motionEvent ){};
|
||||
default void onTouch(MotionEvent motionEvent) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 地图上的任意poi点击
|
||||
*
|
||||
* @param poi
|
||||
*/
|
||||
default void onPOIClick( MogoPoi poi ){};
|
||||
default void onPOIClick(MogoPoi poi) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 地图点击
|
||||
*
|
||||
* @param latLng
|
||||
*/
|
||||
default void onMapClick( MogoLatLng latLng ){}
|
||||
default void onMapClick(MogoLatLng latLng) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 地图锁定
|
||||
*
|
||||
* @param isLock
|
||||
*/
|
||||
default void onLockMap( boolean isLock ){}
|
||||
default void onLockMap(boolean isLock) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 地图白天黑夜、导航视角切换
|
||||
*
|
||||
* @param ui
|
||||
*/
|
||||
default void onMapModeChanged( EnumMapUI ui ){}
|
||||
default void onMapModeChanged(EnumMapUI ui) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 地图视距切换回调
|
||||
*
|
||||
* @param visualAngleMode
|
||||
*/
|
||||
default void onMapVisualAngleChanged(VisualAngleMode visualAngleMode) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param latLng 中点的经纬度
|
||||
@@ -61,5 +75,6 @@ public interface IMogoMapListener {
|
||||
* @param tilt 倾斜度
|
||||
* @param bearing 旋转角度
|
||||
*/
|
||||
default void onMapChanged( MogoLatLng latLng, float zoom, float tilt, float bearing ){}
|
||||
default void onMapChanged(MogoLatLng latLng, float zoom, float tilt, float bearing) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,9 @@ package com.mogo.map.listener;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.location.MogoLocation;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.navi.MogoNaviInfo;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.map.uicontroller.VisualAngleMode;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
@@ -22,9 +21,9 @@ public class MogoMapListenerHandler implements IMogoMapListener, IMogoMapListene
|
||||
}
|
||||
|
||||
public static MogoMapListenerHandler getInstance() {
|
||||
if ( sInstance == null ) {
|
||||
synchronized ( MogoMapListenerHandler.class ) {
|
||||
if ( sInstance == null ) {
|
||||
if (sInstance == null) {
|
||||
synchronized (MogoMapListenerHandler.class) {
|
||||
if (sInstance == null) {
|
||||
sInstance = new MogoMapListenerHandler();
|
||||
}
|
||||
}
|
||||
@@ -42,7 +41,7 @@ public class MogoMapListenerHandler implements IMogoMapListener, IMogoMapListene
|
||||
private IMogoMapListener mDelegateListener = null;
|
||||
|
||||
@Override
|
||||
public void registerHostMapListener( IMogoMapListener listener ) {
|
||||
public void registerHostMapListener(IMogoMapListener listener) {
|
||||
mDelegateListener = listener;
|
||||
}
|
||||
|
||||
@@ -53,50 +52,57 @@ public class MogoMapListenerHandler implements IMogoMapListener, IMogoMapListene
|
||||
|
||||
@Override
|
||||
public void onMapLoaded() {
|
||||
if ( mDelegateListener != null ) {
|
||||
if (mDelegateListener != null) {
|
||||
mDelegateListener.onMapLoaded();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTouch( MotionEvent motionEvent ) {
|
||||
if ( mDelegateListener != null ) {
|
||||
mDelegateListener.onTouch( motionEvent );
|
||||
public void onTouch(MotionEvent motionEvent) {
|
||||
if (mDelegateListener != null) {
|
||||
mDelegateListener.onTouch(motionEvent);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPOIClick( MogoPoi poi ) {
|
||||
if ( mDelegateListener != null ) {
|
||||
mDelegateListener.onPOIClick( poi );
|
||||
public void onPOIClick(MogoPoi poi) {
|
||||
if (mDelegateListener != null) {
|
||||
mDelegateListener.onPOIClick(poi);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapClick( MogoLatLng latLng ) {
|
||||
if ( mDelegateListener != null ) {
|
||||
mDelegateListener.onMapClick( latLng );
|
||||
public void onMapClick(MogoLatLng latLng) {
|
||||
if (mDelegateListener != null) {
|
||||
mDelegateListener.onMapClick(latLng);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLockMap( boolean isLock ) {
|
||||
if ( mDelegateListener != null ) {
|
||||
mDelegateListener.onLockMap( isLock );
|
||||
public void onLockMap(boolean isLock) {
|
||||
if (mDelegateListener != null) {
|
||||
mDelegateListener.onLockMap(isLock);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapModeChanged( EnumMapUI ui ) {
|
||||
if ( mDelegateListener != null ) {
|
||||
mDelegateListener.onMapModeChanged( ui );
|
||||
public void onMapModeChanged(EnumMapUI ui) {
|
||||
if (mDelegateListener != null) {
|
||||
mDelegateListener.onMapModeChanged(ui);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapChanged( MogoLatLng location, float zoom, float tilt, float bearing ) {
|
||||
if ( mDelegateListener != null ) {
|
||||
mDelegateListener.onMapChanged( location, zoom, tilt, bearing );
|
||||
public void onMapVisualAngleChanged(VisualAngleMode visualAngleMode) {
|
||||
if (mDelegateListener != null) {
|
||||
mDelegateListener.onMapVisualAngleChanged(visualAngleMode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapChanged(MogoLatLng location, float zoom, float tilt, float bearing) {
|
||||
if (mDelegateListener != null) {
|
||||
mDelegateListener.onMapChanged(location, zoom, tilt, bearing);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ public class MogoLocationListenerRegister implements IMogoLocationListenerRegist
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
private Set< IMogoLocationListener > sListeners = new HashSet<>( 10 );
|
||||
private final Set< IMogoLocationListener > sListeners = new HashSet<>( 10 );
|
||||
|
||||
/**
|
||||
* 注册定位回调
|
||||
|
||||
@@ -11,51 +11,70 @@ public enum EnumMapUI {
|
||||
/**
|
||||
* 正北朝上2D
|
||||
*/
|
||||
NorthUP_2D( 0, 1 ),
|
||||
NorthUP_2D(0, 1),
|
||||
/**
|
||||
* 车头朝上2D
|
||||
*/
|
||||
CarUp_2D( 1, 2 ),
|
||||
CarUp_2D(1, 2),
|
||||
|
||||
/**
|
||||
* 3D,只能头朝上
|
||||
*/
|
||||
CarUp_3D( 2, 0 ),
|
||||
CarUp_3D(2, 0),
|
||||
|
||||
/**
|
||||
* 白天模式
|
||||
*/
|
||||
Type_Light( 3, 5 ),
|
||||
Type_Light(3, 5),
|
||||
|
||||
/**
|
||||
* 夜晚模式
|
||||
*/
|
||||
Type_Night( 4, 4 ),
|
||||
Type_Night(4, 4),
|
||||
|
||||
/**
|
||||
* 夜晚模式
|
||||
*/
|
||||
Type_AUTO_LIGHT_Night( 5, 3 ),
|
||||
Type_AUTO_LIGHT_Night(5, 3),
|
||||
|
||||
/**
|
||||
* 自研地图的VR模式
|
||||
*/
|
||||
Type_VR( 0, 0 );
|
||||
Type_VR(0, 0),
|
||||
|
||||
/**
|
||||
* 视距远景
|
||||
*/
|
||||
MODE_LONG_SIGHT(6, 7),
|
||||
|
||||
/**
|
||||
* 视距中景
|
||||
*/
|
||||
MODE_MEDIUM_SIGHT(7, 8),
|
||||
|
||||
/**
|
||||
* 视距近景
|
||||
*/
|
||||
MODE_CLOSE_SIGHT(8, 6);
|
||||
|
||||
private int next;
|
||||
private int code;
|
||||
|
||||
EnumMapUI( int code, int next ) {
|
||||
EnumMapUI(int code, int next) {
|
||||
this.code = code;
|
||||
this.next = next;
|
||||
}
|
||||
|
||||
public EnumMapUI next() {
|
||||
for ( EnumMapUI value : EnumMapUI.values() ) {
|
||||
if ( value.code == next ) {
|
||||
for (EnumMapUI value : EnumMapUI.values()) {
|
||||
if (value.code == next) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getCode(){
|
||||
return code;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,50 +28,64 @@ public interface IMogoMapUIController {
|
||||
/**
|
||||
* 实时路况
|
||||
*/
|
||||
void setTrafficEnabled( boolean visible );
|
||||
void setTrafficEnabled(boolean visible);
|
||||
|
||||
/**
|
||||
* 地图缩放
|
||||
*
|
||||
* @param zoomIn true - 放大 false - 缩小
|
||||
*/
|
||||
MapControlResult changeZoom( boolean zoomIn );
|
||||
MapControlResult changeZoom(boolean zoomIn);
|
||||
|
||||
/**
|
||||
* 修改缩放级别
|
||||
*/
|
||||
MapControlResult changeZoom( float zoom );
|
||||
MapControlResult changeZoom(float zoom);
|
||||
|
||||
/**
|
||||
* 切换2D/3D模式
|
||||
*
|
||||
* @param mode true - 3D模式 false - 2D模式
|
||||
*/
|
||||
void changeMapMode( EnumMapUI mode );
|
||||
void changeMapMode(EnumMapUI mode);
|
||||
|
||||
/**
|
||||
* 切换3D模式下远距,中距,近距视角
|
||||
*
|
||||
* @param angelMode {@link VisualAngleMode}
|
||||
*/
|
||||
void changeMapVisualAngle(VisualAngleMode angelMode);
|
||||
|
||||
/**
|
||||
* 获得当前地图视距模式
|
||||
*
|
||||
* @return {@link VisualAngleMode}
|
||||
*/
|
||||
VisualAngleMode getCurrentMapVisualAngle();
|
||||
|
||||
/**
|
||||
* 将地图移动至当前位置
|
||||
*/
|
||||
default void moveToCenter( MogoLatLng latLng ) {
|
||||
moveToCenter( latLng, false );
|
||||
default void moveToCenter(MogoLatLng latLng) {
|
||||
moveToCenter(latLng, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将地图移动至当前位置
|
||||
*/
|
||||
void moveToCenter( MogoLatLng latLng, boolean animate );
|
||||
void moveToCenter(MogoLatLng latLng, boolean animate);
|
||||
|
||||
/**
|
||||
* 显示我的位置
|
||||
*
|
||||
* @param visible true - 显示 false - 不显示
|
||||
*/
|
||||
void showMyLocation( boolean visible );
|
||||
void showMyLocation(boolean visible);
|
||||
|
||||
/**
|
||||
* @param view
|
||||
*/
|
||||
void showMyLocation( View view );
|
||||
void showMyLocation(View view);
|
||||
|
||||
/**
|
||||
* 强调自车位置,加个动画突显一下自车位置
|
||||
@@ -83,7 +97,7 @@ public interface IMogoMapUIController {
|
||||
*
|
||||
* @param location
|
||||
*/
|
||||
void changeMyLocation( Location location );
|
||||
void changeMyLocation(Location location);
|
||||
|
||||
/**
|
||||
* 锁车
|
||||
@@ -100,14 +114,14 @@ public interface IMogoMapUIController {
|
||||
*
|
||||
* @param var1 级别 3-20
|
||||
*/
|
||||
void setLockZoom( int var1 );
|
||||
void setLockZoom(int var1);
|
||||
|
||||
/**
|
||||
* 预览全程
|
||||
*
|
||||
* @param bounds 显示范围
|
||||
*/
|
||||
void displayOverview( Rect bounds );
|
||||
void displayOverview(Rect bounds);
|
||||
|
||||
/**
|
||||
* 获取比例尺数据
|
||||
@@ -147,17 +161,17 @@ public interface IMogoMapUIController {
|
||||
* @param mapCenterX x 点位置x值与地图宽度的比例
|
||||
* @param mapCenterY y 点位置x值与地图高度的比例
|
||||
*/
|
||||
void setPointToCenter( double mapCenterX, double mapCenterY );
|
||||
void setPointToCenter(double mapCenterX, double mapCenterY);
|
||||
|
||||
/**
|
||||
* 获取经纬度对应的屏幕的位置
|
||||
*/
|
||||
Point getLocationPointInScreen( MogoLatLng latLng );
|
||||
Point getLocationPointInScreen(MogoLatLng latLng);
|
||||
|
||||
/**
|
||||
* 获取像素点对应的经纬度
|
||||
*/
|
||||
MogoLatLng getLocationMogoLatLngInScreen( Point point );
|
||||
MogoLatLng getLocationMogoLatLngInScreen(Point point);
|
||||
|
||||
/**
|
||||
* marker 跳跃动画
|
||||
@@ -170,13 +184,13 @@ public interface IMogoMapUIController {
|
||||
* @param duration 动画时间
|
||||
*/
|
||||
@Deprecated
|
||||
void startJumpAnimation( IMogoMarker marker, float high, Interpolator interpolator,
|
||||
long duration );
|
||||
void startJumpAnimation(IMogoMarker marker, float high, Interpolator interpolator,
|
||||
long duration);
|
||||
|
||||
/**
|
||||
* 设置刷新帧率
|
||||
*/
|
||||
void setRenderFps( int fps );
|
||||
void setRenderFps(int fps);
|
||||
|
||||
/**
|
||||
* @param tag 调用业务
|
||||
@@ -185,7 +199,7 @@ public interface IMogoMapUIController {
|
||||
* @param bound 地图上可显示的范围
|
||||
* @param lockCarPosition 是否锁定车辆位置
|
||||
*/
|
||||
void showBounds( String tag, MogoLatLng carPosition, List< MogoLatLng > lonLats, Rect bound, boolean lockCarPosition );
|
||||
void showBounds(String tag, MogoLatLng carPosition, List<MogoLatLng> lonLats, Rect bound, boolean lockCarPosition);
|
||||
|
||||
/**
|
||||
* 强制刷新地图
|
||||
@@ -199,7 +213,7 @@ public interface IMogoMapUIController {
|
||||
* @param p2
|
||||
* @return
|
||||
*/
|
||||
float calculateLineDistance( MogoLatLng p1, MogoLatLng p2 ) throws Exception;
|
||||
float calculateLineDistance(MogoLatLng p1, MogoLatLng p2) throws Exception;
|
||||
|
||||
/**
|
||||
* 当前的视图模式
|
||||
@@ -221,7 +235,7 @@ public interface IMogoMapUIController {
|
||||
* @param option 为空时使用
|
||||
* 默认配置
|
||||
*/
|
||||
void setCarCursorOption( @Nullable CarCursorOption option );
|
||||
void setCarCursorOption(@Nullable CarCursorOption option);
|
||||
|
||||
/**
|
||||
* 获取地图视图描述快照
|
||||
@@ -235,12 +249,13 @@ public interface IMogoMapUIController {
|
||||
*
|
||||
* @param bearing
|
||||
*/
|
||||
void changeBearing( float bearing );
|
||||
void changeBearing(float bearing);
|
||||
|
||||
void setAdasRecognizedResult(ADASRecognizedResult result);
|
||||
|
||||
/**
|
||||
* 获取瓦片id
|
||||
*
|
||||
* @param lon 经度
|
||||
* @param lat 纬度
|
||||
* @return 瓦片id
|
||||
@@ -248,11 +263,11 @@ public interface IMogoMapUIController {
|
||||
long getTileId(double lon, double lat);
|
||||
|
||||
|
||||
default void setAnchorScale( float x, float y ) {
|
||||
default void setAnchorScale(float x, float y) {
|
||||
|
||||
}
|
||||
|
||||
default void setAnchorRate( float rate ) {
|
||||
default void setAnchorRate(float rate) {
|
||||
|
||||
}
|
||||
|
||||
@@ -265,7 +280,7 @@ public interface IMogoMapUIController {
|
||||
*
|
||||
* @param enable
|
||||
*/
|
||||
default void rtkEnable( boolean enable ) {
|
||||
default void rtkEnable(boolean enable) {
|
||||
|
||||
}
|
||||
|
||||
@@ -278,7 +293,7 @@ public interface IMogoMapUIController {
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
default void syncLocation2Map( JSONObject data ) {
|
||||
default void syncLocation2Map(JSONObject data) {
|
||||
|
||||
}
|
||||
|
||||
@@ -287,7 +302,7 @@ public interface IMogoMapUIController {
|
||||
*
|
||||
* @param zoomGestureEnable 是否支持手势缩放改变地图样式
|
||||
*/
|
||||
default void openVrMode( boolean zoomGestureEnable ) {
|
||||
default void openVrMode(boolean zoomGestureEnable) {
|
||||
|
||||
}
|
||||
|
||||
@@ -301,7 +316,7 @@ public interface IMogoMapUIController {
|
||||
* @param isRTK
|
||||
* @return
|
||||
*/
|
||||
default double[] matchRoad(String id, double lon, double lat, double angle, boolean isGpsLocation, boolean isRTK ) {
|
||||
default double[] matchRoad(String id, double lon, double lat, double angle, boolean isGpsLocation, boolean isRTK) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -311,19 +326,21 @@ public interface IMogoMapUIController {
|
||||
|
||||
/**
|
||||
* 获取车速资源缓存 id
|
||||
*
|
||||
* @param speedVal
|
||||
* @return
|
||||
*/
|
||||
default String getMarkerInfoResName(String speedVal){
|
||||
default String getMarkerInfoResName(String speedVal) {
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取车速资源缓存 id
|
||||
*
|
||||
* @param speedVal
|
||||
* @return
|
||||
*/
|
||||
default void setMarkerInfoResName(String speedVal, String val){
|
||||
default void setMarkerInfoResName(String speedVal, String val) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.mogo.map.uicontroller;
|
||||
|
||||
public interface IMogoMapVisualAngle {
|
||||
|
||||
boolean isLongSight();
|
||||
|
||||
boolean isCloseSight();
|
||||
|
||||
boolean isMediumSight();
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.mogo.map.uicontroller;
|
||||
|
||||
public enum VisualAngleMode implements IMogoMapVisualAngle {
|
||||
|
||||
/**
|
||||
* 视距近景
|
||||
*/
|
||||
MODE_CLOSE_SIGHT(0),
|
||||
|
||||
/**
|
||||
* 视距中景
|
||||
*/
|
||||
MODE_MEDIUM_SIGHT(1),
|
||||
|
||||
/**
|
||||
* 视距远景
|
||||
*/
|
||||
MODE_LONG_SIGHT(2);
|
||||
|
||||
private int code;
|
||||
|
||||
VisualAngleMode(int code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLongSight() {
|
||||
return code == MODE_LONG_SIGHT.getCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCloseSight() {
|
||||
return code == MODE_CLOSE_SIGHT.getCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMediumSight() {
|
||||
return code == MODE_MEDIUM_SIGHT.getCode();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user