로컬 파일이나 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();