diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java index 84157f6a84..cae02097cf 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java @@ -63,6 +63,7 @@ public class MarkerNoveltyInfo { private String title; private String gasPrices; private boolean displayNavigation; + private String desplayHost = ""; private String styleType; public String getContent() { @@ -137,6 +138,14 @@ public class MarkerNoveltyInfo { this.gasPrices = gasPrices; } + public String getDesplayHost() { + return desplayHost; + } + + public void setDesplayHost(String desplayHost) { + this.desplayHost = desplayHost; + } + @Override public String toString() { return "ContentData{" + @@ -148,6 +157,7 @@ public class MarkerNoveltyInfo { ", title='" + title + '\'' + ", gasPrices='" + gasPrices + '\'' + ", displayNavigation=" + displayNavigation + + ", desplayHost='" + desplayHost + '\'' + ", styleType='" + styleType + '\'' + '}'; } 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 85172a947d..a95e912577 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 @@ -9,6 +9,8 @@ import android.view.animation.Interpolator; import com.amap.api.maps.model.LatLng; import com.amap.api.maps.model.animation.Animation; +import com.amap.api.maps.model.animation.AnimationSet; +import com.amap.api.maps.model.animation.ScaleAnimation; import com.amap.api.maps.model.animation.TranslateAnimation; import com.mogo.map.MogoLatLng; import com.mogo.map.impl.amap.marker.AMapMarkerWrapper; @@ -229,9 +231,12 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag point.y -= WindowUtils.dip2px(mContext, 100f); MogoLatLng targetMogoLatLng = MarkerServiceHandler.getMapUIController().getLocationMogoLatLngInScreen(point); LatLng target = ObjectUtils.fromMogo2(targetMogoLatLng); - //使用TranslateAnimation,填写一个需要移动的目标点 - Animation animation = new TranslateAnimation(target); - animation.setInterpolator(new Interpolator() { + // 使用TranslateAnimation,填写一个需要移动的目标点 + AnimationSet animationSet = new AnimationSet(true); + Animation animationTranslate = new TranslateAnimation(target); + Animation animationScale = new ScaleAnimation(0.5f,2.5f,0.5f,2.5f); + + animationScale.setInterpolator(new Interpolator() { @Override public float getInterpolation(float input) { if (input <= 0.5) { @@ -241,11 +246,28 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag } } }); - //整个移动所需要的时间 - animation.setDuration(1000); - //设置动画 + + animationSet.setInterpolator(new Interpolator() { + @Override + public float getInterpolation(float input) { + if (input <= 0.5) { + return (float) (0.5f - 2.0 * (0.5 - input) * (0.5 - input)); + } else { + return (float) (0.5f - Math.sqrt((double) ((input - 0.5f) * (1.5f - input)))); + } + } + }); + + // 整个移动所需要的时间 + animationSet.setDuration(1000); + + // 添加动画集合 + animationSet.addAnimation(animationTranslate); + animationSet.addAnimation(animationScale); + + // 设置动画 if (mogoMarker instanceof AMapMarkerWrapper) { - ((AMapMarkerWrapper) mogoMarker).getMarker().setAnimation(animation); + ((AMapMarkerWrapper) mogoMarker).getMarker().setAnimation(animationSet); ((AMapMarkerWrapper) mogoMarker).getMarker().startAnimation(); } } catch (Exception e) {