组件化拆分功能完善,当前完成至圈内脉冲并显示名称在其上方
This commit is contained in:
@@ -51,11 +51,22 @@ export const useAroundAnalysis = (): AroundAnalysisState => {
|
|||||||
const allPoints = loadAllPointData(RESOURCE_CONFIGS);
|
const allPoints = loadAllPointData(RESOURCE_CONFIGS);
|
||||||
const radiusMeters = radiusKm * 1000;
|
const radiusMeters = radiusKm * 1000;
|
||||||
|
|
||||||
return allPoints.filter(point => {
|
const filteredPoints = allPoints.filter(point => {
|
||||||
if (point.lon === undefined || point.lat === undefined) return false;
|
if (point.lon === undefined || point.lat === undefined) return false;
|
||||||
const distance = calculateDistance(centerLon, centerLat, point.lon, point.lat);
|
const distance = calculateDistance(centerLon, centerLat, point.lon, point.lat);
|
||||||
return distance <= radiusMeters && isCategoryVisible(point.category as PointResourceCategory, point.originalType);
|
return distance <= radiusMeters && isCategoryVisible(point.category as PointResourceCategory, point.originalType);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 按坐标去重:相同经纬度的点只保留一个
|
||||||
|
const coordMap = new Map<string, PointResource>();
|
||||||
|
filteredPoints.forEach(point => {
|
||||||
|
const coordKey = `${point.lon},${point.lat}`;
|
||||||
|
if (!coordMap.has(coordKey)) {
|
||||||
|
coordMap.set(coordKey, point);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return Array.from(coordMap.values());
|
||||||
};
|
};
|
||||||
|
|
||||||
const refreshPulseEffect = () => {
|
const refreshPulseEffect = () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user