diff --git a/.idea/misc.xml b/.idea/misc.xml index 2dc54c489f..707ee6e613 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java index e2f3c11892..5004072c76 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java @@ -726,6 +726,9 @@ public class ObjectUtils { target.geodesic( options.isGeodesic() ); target.setDottedLine( options.isDottedLine() ); target.useGradient( options.isGradient() ); + if ( options.getColorValues() != null ) { + target.colorValues( options.getColorValues() ); + } target.transparency( options.getTransparency() ); target.aboveMaskLayer( options.isAboveMaskLayer() ); target.lineCapType( PolylineOptions.LineCapType.LineCapRound ); diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/MogoPolylineOptions.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/MogoPolylineOptions.java index a9cd740f09..9ac5f29631 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/MogoPolylineOptions.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/MogoPolylineOptions.java @@ -30,6 +30,7 @@ public class MogoPolylineOptions { private float mTransparency = 1.0F; private boolean mIsAboveMaskLayer = false; private boolean mIsPointsUpdated = false; + private List< Integer > mColorValues; public MogoPolylineOptions() { this.mPoints = new ArrayList<>(); @@ -168,6 +169,15 @@ public class MogoPolylineOptions { return this; } + /** + * @param colors + * @return + */ + public MogoPolylineOptions colorValues( List< Integer > colors ) { + mColorValues = colors; + return this; + } + public List< MogoLatLng > getPoints() { return mPoints; } @@ -211,4 +221,8 @@ public class MogoPolylineOptions { public boolean isPointsUpdated() { return mIsPointsUpdated; } + + public List< Integer > getColorValues() { + return mColorValues; + } } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerPoiTypeEnum.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerPoiTypeEnum.java index a7467d616c..3f6bbb1d80 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerPoiTypeEnum.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerPoiTypeEnum.java @@ -32,4 +32,6 @@ public interface MarkerPoiTypeEnum { public String FOURS_ICE = "10011"; //停车场 public String FOURS_PARKING = "10012"; + //事故 + public String FOURS_ACCIDENT = "10013"; } \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java index 190ca76a37..10026c2762 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsModuleConst.java @@ -39,7 +39,7 @@ public class ExtensionsModuleConst { public static final String[] CMD_UPLOAD_BLOCK = {"上报拥堵"}; public static final String[] CMD_TRAFFIC_CHECK = {"上报交通检查"}; public static final String[] CMD_ROAD_CLOSURE = {"上报封路"}; - public static final String[] CMD_SHARE_OIL_PRICE = {"分享油价"}; +// public static final String[] CMD_SHARE_OIL_PRICE = {"分享油价"}; //上报拥堵 public static final String UPLOAD_ROAD_BLOCK = "command_upload_block"; @@ -48,7 +48,7 @@ public class ExtensionsModuleConst { //上报封路 public static final String UPLOAD_ROAD_CLOSURE = "command_upload_road_closure"; //分享油价 - public static final String SHARE_OIL_PRICE = "command_share_oil_price"; +// public static final String SHARE_OIL_PRICE = "command_share_oil_price"; /*** 探路 结束 **/ //埋点 diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java index 57c5a9c31c..205666e137 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java @@ -48,8 +48,8 @@ public class EntrancePresenter extends Presenter { ExtensionsModuleConst.CMD_TRAFFIC_CHECK, mogoVoiceListener); AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE, ExtensionsModuleConst.CMD_ROAD_CLOSURE, mogoVoiceListener); - AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.SHARE_OIL_PRICE, - ExtensionsModuleConst.CMD_SHARE_OIL_PRICE, mogoVoiceListener); +// AIAssist.getInstance(mContext).registerUnWakeupCommand(ExtensionsModuleConst.SHARE_OIL_PRICE, +// ExtensionsModuleConst.CMD_SHARE_OIL_PRICE, mogoVoiceListener); } /** @@ -67,8 +67,8 @@ public class EntrancePresenter extends Presenter { uploadTrfficCheck(); } else if (cmd.equals(ExtensionsModuleConst.UPLOAD_ROAD_CLOSURE)) { //上报封路 uploadRoadClosed(); - } else if (cmd.equals(ExtensionsModuleConst.SHARE_OIL_PRICE)) { //分享油价 - shareOilPrice(); +// } else if (cmd.equals(ExtensionsModuleConst.SHARE_OIL_PRICE)) { //分享油价 +// shareOilPrice(); } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index d93f347338..07353d8002 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -130,19 +130,11 @@ public class MapMarkerManager implements IMogoMarkerClickListener, mIsMarkerClicked = true; Logger.d( TAG, "onMarkerClicked 点击了大而全中的Marker:" + marker ); try { - if ( mLastCheckMarker != null ) { - // 判断点击的是否是同一个 - if ( marker.equals( mLastCheckMarker ) ) { - Logger.d( TAG, "onMarkerClicked 与上一次点击的Marker一样,不做处理:" + marker ); - return false; - } - // 将上次选中 Marker 设置为未选中状态 - closeMarker( mLastCheckMarker ); + boolean result = switchMarkerOpenStatus( marker ); + if ( !result ) { + return false; } - // 将当前的Marker设置为选中 - openMarker( marker ); - // 数据统计代码 final Map< String, Object > properties = new HashMap<>(); switch ( mLastCheckMarker.getOwner() ) { @@ -191,6 +183,28 @@ public class MapMarkerManager implements IMogoMarkerClickListener, return false; } + /** + * 切换当前选中marker和上一个选中的状态 + * + * @param marker + * @return + */ + private boolean switchMarkerOpenStatus( IMogoMarker marker ) { + if ( mLastCheckMarker != null ) { + // 判断点击的是否是同一个 + if ( marker.equals( mLastCheckMarker ) ) { + Logger.d( TAG, "onMarkerClicked 与上一次点击的Marker一样,不做处理:" + marker ); + return false; + } + // 将上次选中 Marker 设置为未选中状态 + closeMarker( mLastCheckMarker ); + } + + // 将当前的Marker设置为选中 + openMarker( marker ); + return true; + } + // 对指定类型高亮处理 public synchronized void highlightedMarker( final String typeTag ) { @@ -772,23 +786,16 @@ public class MapMarkerManager implements IMogoMarkerClickListener, @Override public void onBizActionDone( String biz, int position, Object data ) { Logger.d( TAG, "biz = %s, position = %s", biz, position ); - if ( !( data instanceof MarkerShowEntity ) ) { - return; - } - if ( ( ( MarkerShowEntity ) data ).getMarker() != null ) { - onMarkerClicked( ( ( MarkerShowEntity ) data ).getMarker() ); + if ( data instanceof MarkerShowEntity && + ( ( MarkerShowEntity ) data ).getMarker() != null ) { + switchMarkerOpenStatus( ( ( MarkerShowEntity ) data ).getMarker() ); } else { IMogoMarkerManager markerManager = MarkerServiceHandler.getMarkerManager(); List< IMogoMarker > markers = markerManager.getMarkers( biz ); if ( markers != null ) { - for ( IMogoMarker marker : markers ) { - if ( !( marker.getObject() instanceof MarkerShowEntity ) ) { - continue; - } - if ( ( ( MarkerShowEntity ) marker.getObject() ).getBindObj() == data ) { - onMarkerClicked( marker ); - break; - } + IMogoMarker marker = markers.get( position ); + if ( marker != null ) { + switchMarkerOpenStatus( marker ); } } }