|
|
@ -10,7 +10,7 @@ import { Point } from 'ol/geom' |
|
|
import { Style, Circle, Fill, Stroke } from 'ol/style' |
|
|
import { Style, Circle, Fill, Stroke } from 'ol/style' |
|
|
import { fromLonLat } from 'ol/proj' |
|
|
import { fromLonLat } from 'ol/proj' |
|
|
import type { MarkerData } from '../types/map.types' |
|
|
import type { MarkerData } from '../types/map.types' |
|
|
import { getHighestPriorityStatus, getStatusColor } from '../utils/map.utils' |
|
|
|
|
|
|
|
|
|
|
|
import { ANIMATION_CONFIG } from '../constants/map.constants' |
|
|
import { ANIMATION_CONFIG } from '../constants/map.constants' |
|
|
|
|
|
|
|
|
export class AnimationService { |
|
|
export class AnimationService { |
|
|
@ -33,13 +33,11 @@ export class AnimationService { |
|
|
geometry: new Point(fromLonLat(marker.coordinates)), |
|
|
geometry: new Point(fromLonLat(marker.coordinates)), |
|
|
markerData: marker |
|
|
markerData: marker |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
const status = getHighestPriorityStatus(marker) |
|
|
|
|
|
const color = getStatusColor(status) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置动画开始时间
|
|
|
// 设置动画开始时间
|
|
|
feature.set('animationStart', Date.now()) |
|
|
feature.set('animationStart', Date.now()) |
|
|
feature.set('rippleColor', color) |
|
|
|
|
|
|
|
|
feature.set('rippleColor', marker.statusColor ) |
|
|
|
|
|
|
|
|
source?.addFeature(feature) |
|
|
source?.addFeature(feature) |
|
|
// this.rippleLayer?.setSource(source)
|
|
|
// this.rippleLayer?.setSource(source)
|
|
|
@ -62,23 +60,6 @@ export class AnimationService { |
|
|
this.enableCluster = enableCluster |
|
|
this.enableCluster = enableCluster |
|
|
const source = new VectorSource() |
|
|
const source = new VectorSource() |
|
|
|
|
|
|
|
|
// // 为每个标记添加波纹效果
|
|
|
|
|
|
// markers.forEach((marker) => {
|
|
|
|
|
|
// const feature = new Feature({
|
|
|
|
|
|
// geometry: new Point(fromLonLat(marker.coordinates)),
|
|
|
|
|
|
// markerData: marker
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
|
|
// const status = getHighestPriorityStatus(marker)
|
|
|
|
|
|
// const color = getStatusColor(status)
|
|
|
|
|
|
|
|
|
|
|
|
// // 设置动画开始时间
|
|
|
|
|
|
// feature.set('animationStart', Date.now())
|
|
|
|
|
|
// feature.set('rippleColor', color)
|
|
|
|
|
|
|
|
|
|
|
|
// source.addFeature(feature)
|
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
|
|
this.rippleLayer = new VectorLayer({ |
|
|
this.rippleLayer = new VectorLayer({ |
|
|
source: source, |
|
|
source: source, |
|
|
zIndex: 1, |
|
|
zIndex: 1, |
|
|
|