정리노트/메모

24.06.05. 노트

망고고래 2024. 6. 5. 18:00

1. 자바스크립트 forEach

2. OpenLayers - 벡터 레이어 폴리곤 추가

 

 

1. 자바스크립트 forEach

const fruits = ['사과', '바나나', '체리'];

fruits.forEach(function(item, index, array) {
  console.log(item, index);
});
  1. item: 배열의 현재 요소입니다.
  2. index: 현재 요소의 인덱스입니다.
  3. array: 순회 중인 배열 객체 자체입니다.

function(): 콜백 함수. forEach가 배열의 각 요소에 실행할 동작 지정

  • 콜백 함수: forEach 메서드에 전달된 함수입니다. 배열의 각 요소에 대해 이 함수가 실행됩니다. 필요에 따라 요소 값, 인덱스, 원본 배열에 접근할 수 있습니다.
  • 순회: forEach는 배열의 첫 번째 요소부터 마지막 요소까지 순서대로 콜백 함수를 실행합니다. 순회는 중간에 멈출 수 없으며, 모든 요소에 대해 콜백 함수가 실행됩니다.
  • 사용 사례: 배열의 각 요소에 대해 무언가를 실행해야 할 때 사용됩니다. 예를 들어, 배열의 각 요소를 출력하거나, 각 요소에 대해 특정 계산을 수행하고 그 결과를 사용하는 경우가 있습니다.

유의사항

  • forEach 메서드는 배열을 변경하지 않지만, 콜백 함수 내에서 배열 요소를 직접 변경할 수 있습니다.
  • forEach는 콜백 함수의 실행 결과를 기반으로 한 값을 반환하지 않습니다. 만약 배열의 각 요소를 기반으로 새로운 배열을 생성하고 싶다면, map 메서드를 사용하는 것이 더 적합합니다.
  • forEach는 순회를 중간에 멈출 수 없습니다. 특정 조건을 만족하는 첫 번째 요소를 찾고 싶다면, find 또는 findIndex 메서드를 사용하는 것이 좋습니다.

 

2. OpenLayers - 벡터 레이어 폴리곤 추가

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>OpenLayers Polygon Example</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ol3/4.6.5/ol.css" type="text/css">
    <style>
        .map {
            height: 100vh;
            width: 100%;
        }
    </style>
</head>
<body>
    <div id="map" class="map"></div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/ol3/4.6.5/ol.js"></script>
    <script>
        // OpenLayers 지도 객체 생성
        var map = new ol.Map({
            target: 'map',
            layers: [
                new ol.layer.Tile({
                    source: new ol.source.OSM()
                })
            ],
            view: new ol.View({
                center: ol.proj.fromLonLat([0, 0]),
                zoom: 2
            })
        });

        // 폴리곤 좌표 정의 (여기서는 간단한 사각형 예시)
        var coordinates = [
            [
                [-5e6, -1e6], [-5e6, 1e6], [5e6, 1e6], [5e6, -1e6], [-5e6, -1e6]
            ]
        ];

        // 폴리곤 객체 생성
        var polygon = new ol.geom.Polygon(coordinates);

        // 폴리곤을 피처로 변환
        var polygonFeature = new ol.Feature({
            geometry: polygon
        });

        // 벡터 소스 생성 및 폴리곤 피처 추가
        var vectorSource = new ol.source.Vector({
            features: [polygonFeature]
        });

        // 벡터 레이어 생성 및 벡터 소스 설정
        var vectorLayer = new ol.layer.Vector({
            source: vectorSource,
            style: new ol.style.Style({
                stroke: new ol.style.Stroke({
                    color: '#FF0000',
                    width: 2
                }),
                fill: new ol.style.Fill({
                    color: 'rgba(255, 0, 0, 0.5)'
                })
            })
        });

        // 벡터 레이어를 지도에 추가
        map.addLayer(vectorLayer);
    </script>
</body>
</html>

 

 

'정리노트 > 메모' 카테고리의 다른 글

ClassNotFoundException 해결 방법(ContextLoaderListener)  (0) 2024.06.17
24.06.11. 노트  (0) 2024.06.11
24.06.07. 노트  (0) 2024.06.07
24.06.04. 노트  (0) 2024.06.04
24.06.03. 노트  (0) 2024.06.03