로컬 파일이나 URL Request를 통해, 또는 문자열 그대로.. 여튼, 아래와 같이 문자열로 구성된 데이터가 있다고 하자.
[ { "주소":"전라남도 무안군 무안읍 면성1길 78", "인구":"100", "_상태":"OK", "WKT": "POINT(151985.4391669556 266232.22030393773)" }, { "주소":"전라남도 무안군 무안읍 성남리 779-2", "인구":"50", "_상태":"OK", "WKT": "POINT(152027.07037272514 265628.6982788675)" }, { "주소":"전라남도 무안군 무안읍 무안로 513-8", "인구":"77", "_상태":"OK", "WKT": "POINT(152432.06457469938 266037.0198316685)" } ]
위의 문자열에서 고려해야할 유일한 규칙은 좌표 데이터를 구성하기 위해서 WKT 필드가 활용(대소문자 구분)된다는 점이다. 그외의 필드는 모두 속성 필드로 해석된다. 이 JSON 문자열을 지도의 구성 단위인 레이어로 추가하기 위한 코드는 다음과 같다.
var json = '[ \ { \ "주소": "전라남도 무안군 무안읍 면성1길 78", \ "인구": "100", \ "_상태": "OK", \ "WKT": "POINT(151985.4391669556 266232.22030393773)" \ }, \ { \ "주소": "전라남도 무안군 무안읍 성남리 779-2", \ "인구": "50", \ "_상태": "OK", \ "WKT": "POINT(152027.07037272514 265628.6982788675)" \ }, \ { \ "주소": "전라남도 무안군 무안읍 무안로 513-8", \ "인구": "77", \ "_상태": "OK", \ "WKT": "POINT(152432.06457469938 266037.0198316685)" \ } \ ]'; var lyr = new Xr.layers.FeatureJSONLayer("레이어 이름", { EPSG: 4326, dataset: json }); map.layers().add(lyr); map.update();