OpenLayers v3에서 기능 위치를 얻는 방법


11

도면 상호 작용을 사용하거나 상호 작용을 수정 한 후 수정하거나 추가 한 기능을 반환하는 리스너가 있습니다.

draw.on('drawend', function (event) {
    // get the feature
    var feature = event.element;
    // ...listen for changes on it
    logStatus(feature.getId());
});

ID를 얻는 방법을 알고 있지만 DB에 저장해야하기 때문에 기능의 위치 (론 위도)가 필요합니다. 어떻게 할 수 있습니까? API에서 찾지 못했습니다.

답변:


27

기능이 포인트 인 경우

var coord = event.feature.getGeometry().getCoordinates();

점 도형 getCoordinates의 경우 2 개의 숫자 배열을 반환합니다. 첫 번째 숫자는 x좌표입니다. 두 번째 숫자는 y좌표입니다.

그리고 변환 할 경우 coord경도와 위도 사용 :

coord = ol.proj.transform(coord, 'EPSG:3857', 'EPSG:4326');
var lon = coord[0];
var lat = coord[1];

위에서는 맵 뷰 투영이 Web Mercator (EPSG : 3857) 인 것으로 가정합니다. 이것이 기본값입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.