fix: 중국어선감시 지도 멈춤 해결 — 마커 수 제한 + 이벤트 차단 CSS, 탑메뉴 불법어선 제거
This commit is contained in:
부모
a467540dda
커밋
d000807909
@ -1881,6 +1881,11 @@
|
|||||||
border-top-color: rgba(10, 10, 26, 0.96) !important;
|
border-top-color: rgba(10, 10, 26, 0.96) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 중국어선 오버레이 마커 — 이벤트 차단 */
|
||||||
|
.maplibregl-marker:has(.cn-fishing-no-events) {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
.gl-popup .maplibregl-popup-close-button,
|
.gl-popup .maplibregl-popup-close-button,
|
||||||
.event-popup .maplibregl-popup-close-button {
|
.event-popup .maplibregl-popup-close-button {
|
||||||
color: #aaa !important;
|
color: #aaa !important;
|
||||||
|
|||||||
@ -253,15 +253,6 @@ function AuthenticatedApp({ user, onLogout }: AuthenticatedAppProps) {
|
|||||||
|
|
||||||
{dashboardTab === 'korea' && (
|
{dashboardTab === 'korea' && (
|
||||||
<div className="mode-toggle">
|
<div className="mode-toggle">
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className={`mode-btn ${koreaFiltersResult.filters.illegalFishing ? 'active live' : ''}`}
|
|
||||||
onClick={() => koreaFiltersResult.setFilter('illegalFishing', !koreaFiltersResult.filters.illegalFishing)}
|
|
||||||
title={t('filters.illegalFishing')}
|
|
||||||
>
|
|
||||||
<span className="text-[11px]">🚫🐟</span>
|
|
||||||
{t('filters.illegalFishing')}
|
|
||||||
</button>
|
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className={`mode-btn ${koreaFiltersResult.filters.illegalTransship ? 'active live' : ''}`}
|
className={`mode-btn ${koreaFiltersResult.filters.illegalTransship ? 'active live' : ''}`}
|
||||||
|
|||||||
@ -194,32 +194,33 @@ export function ChineseFishingOverlay({ ships }: Props) {
|
|||||||
</Source>
|
</Source>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* 어구/어망 위치 마커 (모선 연결된 것) */}
|
{/* 어구/어망 위치 마커 (모선 연결된 것) — 최대 50개 */}
|
||||||
{gearLinks.map(link => (
|
{gearLinks.slice(0, 50).map(link => (
|
||||||
<Marker key={`gearlink-${link.gear.mmsi}`} longitude={link.gear.lng} latitude={link.gear.lat} anchor="center">
|
<Marker key={`gearlink-${link.gear.mmsi}`} longitude={link.gear.lng} latitude={link.gear.lat} anchor="center">
|
||||||
<div style={{ filter: 'drop-shadow(0 0 3px #f9731688)', pointerEvents: 'none' }}>
|
<div className="cn-fishing-no-events">
|
||||||
<FishingNetIcon color="#f97316" size={10} />
|
<div style={{ filter: 'drop-shadow(0 0 3px #f9731688)' }}>
|
||||||
</div>
|
<FishingNetIcon color="#f97316" size={10} />
|
||||||
<div style={{
|
</div>
|
||||||
fontSize: 5, color: '#f97316', textAlign: 'center',
|
<div style={{
|
||||||
textShadow: '0 0 2px #000', fontWeight: 700, marginTop: -1,
|
fontSize: 5, color: '#f97316', textAlign: 'center',
|
||||||
whiteSpace: 'nowrap', pointerEvents: 'none',
|
textShadow: '0 0 2px #000', fontWeight: 700, marginTop: -1,
|
||||||
}}>
|
whiteSpace: 'nowrap',
|
||||||
← {link.parentName}
|
}}>
|
||||||
|
← {link.parentName}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Marker>
|
</Marker>
|
||||||
))}
|
))}
|
||||||
|
|
||||||
{/* 조업 중 어선 — 어구 아이콘 */}
|
{/* 조업 중 어선 — 어구 아이콘 — 최대 80개 */}
|
||||||
{operating.map(({ ship, analysis }) => {
|
{operating.slice(0, 80).map(({ ship, analysis }) => {
|
||||||
const meta = GEAR_LABELS[analysis.gearType];
|
const meta = GEAR_LABELS[analysis.gearType];
|
||||||
return (
|
return (
|
||||||
<Marker key={`gear-${ship.mmsi}`} longitude={ship.lng} latitude={ship.lat} anchor="bottom">
|
<Marker key={`gear-${ship.mmsi}`} longitude={ship.lng} latitude={ship.lat} anchor="bottom">
|
||||||
<div style={{
|
<div className="cn-fishing-no-events" style={{
|
||||||
marginBottom: 8,
|
marginBottom: 8,
|
||||||
filter: `drop-shadow(0 0 3px ${meta?.color || '#f97316'}88)`,
|
filter: `drop-shadow(0 0 3px ${meta?.color || '#f97316'}88)`,
|
||||||
opacity: 0.85,
|
opacity: 0.85,
|
||||||
pointerEvents: 'none',
|
|
||||||
}}>
|
}}>
|
||||||
<GearIcon gear={analysis.gearType} size={12} />
|
<GearIcon gear={analysis.gearType} size={12} />
|
||||||
</div>
|
</div>
|
||||||
@ -227,10 +228,10 @@ export function ChineseFishingOverlay({ ships }: Props) {
|
|||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
|
|
||||||
{/* 본선/부속선/어선 역할 라벨 */}
|
{/* 본선/부속선/어선 역할 라벨 — 최대 100개 */}
|
||||||
{analyzed.filter(a => a.role.role).map(({ ship, role }) => (
|
{analyzed.filter(a => a.role.role).slice(0, 100).map(({ ship, role }) => (
|
||||||
<Marker key={`role-${ship.mmsi}`} longitude={ship.lng} latitude={ship.lat} anchor="top">
|
<Marker key={`role-${ship.mmsi}`} longitude={ship.lng} latitude={ship.lat} anchor="top">
|
||||||
<div style={{
|
<div className="cn-fishing-no-events" style={{
|
||||||
marginTop: 6,
|
marginTop: 6,
|
||||||
fontSize: 5,
|
fontSize: 5,
|
||||||
fontWeight: 700,
|
fontWeight: 700,
|
||||||
@ -238,7 +239,6 @@ export function ChineseFishingOverlay({ ships }: Props) {
|
|||||||
textShadow: '0 0 2px #000, 0 0 2px #000',
|
textShadow: '0 0 2px #000, 0 0 2px #000',
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
whiteSpace: 'nowrap',
|
whiteSpace: 'nowrap',
|
||||||
pointerEvents: 'none',
|
|
||||||
}}>
|
}}>
|
||||||
{role.roleKo}
|
{role.roleKo}
|
||||||
</div>
|
</div>
|
||||||
@ -248,7 +248,7 @@ export function ChineseFishingOverlay({ ships }: Props) {
|
|||||||
{/* 운반선 라벨 */}
|
{/* 운반선 라벨 */}
|
||||||
{carriers.map(s => (
|
{carriers.map(s => (
|
||||||
<Marker key={`carrier-${s.mmsi}`} longitude={s.lng} latitude={s.lat} anchor="top">
|
<Marker key={`carrier-${s.mmsi}`} longitude={s.lng} latitude={s.lat} anchor="top">
|
||||||
<div style={{
|
<div className="cn-fishing-no-events" style={{
|
||||||
marginTop: 6,
|
marginTop: 6,
|
||||||
fontSize: 5,
|
fontSize: 5,
|
||||||
fontWeight: 700,
|
fontWeight: 700,
|
||||||
@ -256,7 +256,6 @@ export function ChineseFishingOverlay({ ships }: Props) {
|
|||||||
textShadow: '0 0 2px #000, 0 0 2px #000',
|
textShadow: '0 0 2px #000, 0 0 2px #000',
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
whiteSpace: 'nowrap',
|
whiteSpace: 'nowrap',
|
||||||
pointerEvents: 'none',
|
|
||||||
}}>
|
}}>
|
||||||
운반
|
운반
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
불러오는 중...
Reference in New Issue
Block a user