ol3에서 벡터 레이어에 수동으로 피처 추가


16

자바 스크립트를 사용하여 벡터 레이어에 수동으로 레이어를 추가하려고합니다. 왜 이것이 실패하는지 알 수없는 것 같습니다.

http://jsfiddle.net/Kieveli/f4t6n6v1/4/

뷰의 xy 값과 일치시키기 위해 16,22와 같은 큰 좌표와 큰 좌표를 시도했습니다. ol3에서 Javascript 오류가 발생합니다. TypeError : bQ는 함수가 아닙니다.

HTML :

<div id="map" class="map"></div>

자바 스크립트 :

var vectorSource = new ol.source.Vector({});

var map = new ol.Map({
  layers: [
      new ol.layer.Tile({
          source: new ol.source.MapQuest({layer: 'sat'})
      }),
      new ol.layer.Vector({
          source: vectorSource
      })
  ],
  target: 'map',
  view: new ol.View({
    center: [-11000000, 4600000],
    zoom: 4
  })
});

var thing = new ol.geom.Polygon( [ [16000000,22000000],[44000000,55000000],[88000000,90000000] ] );
vectorSource.addFeature( thing );

ol3-debug.js를 사용하면 "AssertionError : Failure : unsupported stride : undefined"가 표시됩니다.
Kieveli

2
소스에 지오메트리를 추가하려고합니다. ol.Feature먼저 포장하십시오 .
Gabor Farkas

1
좋은! 위도 / 경도에서 y / x 로의 변환이 누락되었습니다. 바이올린 업데이트 : jsfiddle.net/Kieveli/f4t6n6v1/7
Kieveli

답변:


22

가보 Farkas 보낸 사람이 말했다, 나는 형상이 아닌 소스에 기능을 추가했다. 좌표에 []가 없어 지오메트리가 제대로 변환되지 않았습니다. 여기서는 y / x 대신 x / y로 lat / long을 사용하고있었습니다. 업데이트 된 바이올린 :

http://jsfiddle.net/Kieveli/f4t6n6v1/7/

HTML :

<div id="map" class="map"></div>

자바 스크립트 :

var vectorSource = new ol.source.Vector({});

var map = new ol.Map({
  layers: [
      new ol.layer.Tile({
          source: new ol.source.MapQuest({layer: 'sat'})
      }),
      new ol.layer.Vector({
          source: vectorSource
      })
  ],
  target: 'map',
  view: new ol.View({
    center: [-11000000, 4600000],
    zoom: 4
  })
});

var thing = new ol.geom.Polygon( [[
    ol.proj.transform([-16,-22], 'EPSG:4326', 'EPSG:3857'),
    ol.proj.transform([-44,-55], 'EPSG:4326', 'EPSG:3857'),
    ol.proj.transform([-88,75], 'EPSG:4326', 'EPSG:3857')
]]);
var featurething = new ol.Feature({
    name: "Thing",
    geometry: thing
});
vectorSource.addFeature( featurething );
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.