2017-05-09 3 views
-1

남자들이 guide4you에서이 lib opensource를 만드는 훌륭한 일을했습니다 !!GUIDE4YOU - 동적 레이어를 추가하는 방법은 무엇입니까?

작업 데모를 성공적으로 수행했습니다. guide4you 샘플.

lib는 얼마나 조절 가능합니까? 예를 들어 KML 대신 GeoJSON으로 레이어를 추가하려면 어떻게해야합니까? 미리 정의 된 대신 동적으로 레이어를 추가 할 수 있습니까?

예로서이 걸릴 : https://openlayers.org/en/latest/examples/geojson.html

더 구체적으로 : 그 예는 guide4you과 함께 작업 할 수있는 방법?

종류와 관련,

답변

0

방금 ​​layerconfig의 유형 "GeoJSON"을 지정할 수 있습니다 guide4you에 GeoJSON 층을 사용합니다.

map.get('api').addFeatureLayer({ "id": "3", "type": "GeoJSON", "source": { "url": "path/to/geojson" }, "visible": true })

가능한 옵션 :

{ "id": "3", "type": "GeoJSON", "source": { "url": "path/to/geojson" } }

은 몇 가지 예

당신이이 API 함수를 사용할 수있는 자바 스크립트와 함께 즉석에서 레이어를 추가 할 경우에 대해서도 https://github.com/KlausBenndorf/guide4you/blob/master/conf/full/layers.commented.json보기 레이어 구성과 동일합니다.

새로운 기능 만 추가하려는 경우 "Intern"유형의 레이어를 만들고 openlayers 기능이있는 기능을 추가 할 수 있습니다. 기능 레이어의 소스는 ol.source.Vector의 하위 클래스입니다. 아래의 예제에서 geojsonObject는 geojson의 openlayers 예제와 같은 종류라고 가정합니다. var layer = map.get('api').addFeatureLayer({ "id": "3", "type": "Intern", "source": { "features": [] }, "visible": true }); layer.getSource().addFeatures((new ol.format.GeoJSON()).readFeatures(geojsonObject));

그리고 마지막으로이 같은 layerConfig 객체의 내부 기능을 정의하기 위해 단순화 된 API를 사용할 수 있습니다

{ "id": "3", "type": "Intern", "source": { "features": [{ "id": 6, "name": "Some feature", "description: "Some description", "style": "#defaultStyle", "geometryWKT": "... any wkt string here ..." },{ "geometryWKT": "... any wkt string here ..." }] } }

이이 layerConfig 파일 또는 addFeatureLayer API를하여 사용할 수 있습니다 방법.

+0

안녕하세요. 빠른 답변 주셔서 감사합니다 !! 스크립트 블록 안에 index.html에 코드를 삽입하면 "ReferenceError : map is not defined"가됩니다. – Sam

+0

createG4U ('# g4u-map')를 사용할 수 있습니다. (function (map) {... 여기 map is defined ...}) –

+0

이 시점에서지도가 준비되지 않았기 때문에 직접 시도했지만 작동하지 않습니다. 이것은 작동합니다 : createG4U ('# g4u-map'). ((function {map} –

관련 문제