인코딩의 Decoding

반응형

OpenLayers에서 ol.geom.Circle의 radius 매개 변수를 미터(meter) 단위로 사용하려면, 다음과 같이 코드를 작성할 수 있습니다.

// 지도 투영 방식 설정
var projection = new ol.proj.Projection({
  code: 'EPSG:3857', // 미터 단위를 사용하는 Web Mercator 투영 방식
  units: 'm'
});

// 중심점 좌표와 반지름(m) 설정
var center = [0, 0]; // 중심점 좌표
var radiusInMeters = 1000; // 반지름(m)
var circle = new ol.geom.Circle(center, radiusInMeters, 'XY');

// 원형 지오메트리를 가진 feature 생성
var feature = new ol.Feature(circle);

// feature를 가지고 있는 vector layer 생성
var vectorLayer = new ol.layer.Vector({
  source: new ol.source.Vector({
    features: [feature]
  })
});

// 생성한 layer를 지도에 추가
var map = new ol.Map({
  target: 'map',
  layers: [
    vectorLayer
  ],
  view: new ol.View({
    center: center,
    zoom: 10,
    projection: projection
  })
});

위 코드에서, projection 객체는 지도 투영 방식을 설정하며, units 속성을 'm'(미터)로 설정하여 미터 단위를 사용합니다. 그리고 radiusInMeters 변수에 반지름을 미터 단위로 지정합니다. 마지막으로, ol.geom.Circle 생성자의 세 번째 매개 변수 opt_layout에 'XY'를 전달하여 X,Y 좌표계를 사용한다는 것을 명시합니다.

위 코드를 실행하면, 지도 위에 반지름이 1000m인 원이 그려집니다.

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band