React 지리적 버블 지도

    React 지도 구성 요소에서는 IgrGeographicProportionalSymbolSeries 사용하여 애플리케이션의 데이터로 지정된 지리적 위치에 거품이나 비례 마커를 그릴 수 있습니다. 이 지도 시리즈는 백화점, 창고 또는 사무실과 같은 특정 비즈니스 사례에서 관심 지점을 강조하는 데 유용할 수 있습니다. 또한 차량 관리 시스템이나 동적 차량 추적을 위한 GPS 시스템에서 이 지도 시리즈를 사용할 수 있습니다.

    React Geographic Bubble Map Example

    위의 데모는 IgrGeographicProportionalSymbolSeries 계열과 계열의 데이터 바인딩 옵션을 지정하는 방법을 보여줍니다. 자동 마커 선택은 마커 충돌 방지 논리와 함께 구성되며 마커 윤곽선 및 채우기 색상도 지정됩니다.

    Configuration Summary

    지도 컨트롤의 다른 유형의 분산 계열과 마찬가지로 IgrGeographicProportionalSymbolSeries 계열에는 개체 배열에 바인딩할 수 있는 ItemsSource 속성이 있습니다. 또한 항목 소스의 각 데이터 항목에는 지리적 경도 및 위도 좌표를 저장하고 longitudeMemberPathlatitudeMemberPath 속성을 사용하여 이러한 데이터 열을 매핑하는 두 개의 데이터 열이 있어야 합니다. radiusScaleradiusMemberPath 설정은 거품의 반경을 구성합니다.

    다음 표에는 데이터 바인딩에 사용되는 GeographicHighDensityScatterSeries 계열 속성이 요약되어 있습니다.

    재산 유형 설명
    ItemsSource 어느 항목 소스를 가져오거나 설정합니다.
    longitudeMemberPath ItemsSource 속성을 사용하여 할당된 항목의 경도 값 위치를 결정합니다.
    latitudeMemberPath ItemsSource 속성을 사용하여 할당된 항목의 위도 값 위치를 결정합니다.
    radiusMemberPath 계열의 반경 값을 가져오는 데 사용할 경로를 설정합니다.
    radiusScale IgrSizeScale 현재 거품 계열의 반경 배율 속성을 가져오거나 설정합니다.
    minimumValue 어느 값 하위 범위를 계산하기 위한 최소값을 구성합니다.
    maximumValue 어느 값 하위 범위를 계산하기 위한 최대값을 구성합니다.

    Code Snippet

    import { IgrGeographicMapModule } from 'igniteui-react-maps';
    import { IgrGeographicMap } from 'igniteui-react-maps';
    import { IgrGeographicProportionalSymbolSeries } from 'igniteui-react-maps';
    import { IgrDataChartInteractivityModule } from 'igniteui-react-charts';
    import { IgrValueBrushScale } from 'igniteui-react-charts';
    import { IgrSizeScale } from 'igniteui-react-charts';
    import { IgrDataContext } from 'igniteui-react-core';
    import { MarkerType } from 'igniteui-react-charts';
    
    IgrGeographicMapModule.register();
    IgrDataChartInteractivityModule.register();
    // ...
    
    public render() {
        return (
        <IgrGeographicMap
            ref={this.onMapReferenced}
            width="600px"
            height="600px"
            zoomable="true" />
        );
    }
    
    public onMapReferenced(map: IgrGeographicMap) {
        this.map = map;
    
        const sizeScale = new IgrSizeScale({});
        sizeScale.minimumValue = 4;
        sizeScale.maximumValue = 60;
    
        const brushes = [
            "rgba(14, 194, 14, 0.4)",  // semi-transparent green
            "rgba(252, 170, 32, 0.4)", // semi-transparent orange
            "rgba(252, 32, 32, 0.4)",  // semi-transparent red
        ];
    
        const brushScale = new IgrValueBrushScale({});
        brushScale.brushes = brushes;
        brushScale.minimumValue = 0;
        brushScale.maximumValue = 30;
    
       const geoSeries = new IgrGeographicProportionalSymbolSeries ( { name: "symbolSeries" });
        geoSeries.dataSource = locations;
        geoSeries.markerType = MarkerType.Circle;
        geoSeries.radiusScale = sizeScale;
        geoSeries.fillScale = brushScale;
        geoSeries.fillMemberPath = "pop";
        geoSeries.radiusMemberPath = "pop";
        geoSeries.latitudeMemberPath = "lat";
        geoSeries.longitudeMemberPath = "lon";
        geoSeries.markerOutline = "rgba(0,0,0,0.3)";
    
        this.map.series.add(geoSeries);
    }
    

    API References