2017-11-17 4 views
0

OpenLayers 기술을 사용하여 다각형을 그리고 좌표를 저장합니다. 여기 내 코드는 다음과 같습니다 -OpenLayers 다각형 좌표를 위도와 경도로 변환하는 방법은 무엇입니까?

var raster = new ol.layer.Tile({ 
       source: new ol.source.OSM() 
      }); 

var source = new ol.source.Vector({wrapX: false}); 

var vector = new ol.layer.Vector({ 
       source: source 
      }); 

var map = new ol.Map({ 
      layers: [raster, vector], 
      target: 'map', 
      view: new ol.View({ 
       center: [-11000000, 4600000], 
       zoom: 4 
      }) 
     }); 

var typeSelect = document.getElementById('type'); 

var draw; // global so we can remove it later 
function addInteraction() { 
    var value = typeSelect.value; 
    if (value !== 'None') { 
     draw = new ol.interaction.Draw({ 
       source: source, 
       type: /** @type {ol.geom.GeometryType} */ (typeSelect.value), 
       freehand: true 
      }); 
     draw.on('drawend',function(e){ 
      var polygonString = e.feature.getGeometry().getCoordinates(); 
      //polygonString = polygonString.toString(); 
      //$('#polygonString').val(polygonString); 
      //$('#myPlot').modal('show'); 
     }); 
     map.addInteraction(draw); 
    } 
} 

polygonString 내가 위도와 경도로이 값을 저장할

[-12086017.297876,6615491.5618235] 
[-12095801.237496,6615491.5618235] 

의 형태로 좌표를 가지고있다. 어떻게해야합니까?

답변

0

지도 참조 시스템 (EPSG : 3857)에서 위도와 경도 (EPSG : 4326)로 지오메트리를 변환해야합니다.

drawend 콜백이 시도 :

var geom = e.feature.getGeometry().transform('EPSG:3857', 'EPSG:4326'); 
console.log(geom.getCoordinates())