- 브이월드 데이터 API 2.0 를 사용하였습니다. WFSLayername을 무엇으로하느냐에 따라 각종 주제도를 검색합니다
- jquery(3.3.1)을 사용하였습니다. (크로스도메인해결로 php로도 가능합니다)
- 결과값은 브이월드 geojson 구성으로 되어있으므로 언떤 엔진을 사용하느냐에 따라 변경하시면 됩니다.
function fnRequest_VWorldWFS2(x,y,WFSLayername,Call_backfunction){
var param = "service=data";
param += "&request=GetFeature";
param += "&data="+ WFSLayername;
param += "&geomFilter=" + "POINT(" + x + " " + y +")";
param += "&format=json";
param += "&crs=EPSG:900913";
param += "&key=" + VWorldKey;
param += "&domain=" + _getServerName(mainurl);
var reqUrl = encodeURI(searchUrl + param);
$.ajax({
type:'GET',
dataType: "jsonp",
jsonp : "callback",
url: reqUrl,
success:function(data){
try{
var _features = new Array();
for(var idx=0; idx< data.response.result.featureCollection.features.length; idx++) {
try{
var geojson_Feature = data.response.result.featureCollection.features[idx];
var geojsonObject = geojson_Feature.geometry;
var features = (new ol.format.GeoJSON()).readFeatures(geojsonObject);
for(var i=0; i< features.length; i++) {
try{
var feature = features[i];
feature["id_"] = geojson_Feature.id;
feature["properties"] = {};
for (var key in geojson_Feature.properties) {
try{
var value = geojson_Feature.properties[key];
feature.values_[key] = value;
feature.properties[key] = value;
}catch (e){
}
}
_features.push(feature)
}catch (e){
}
}
}catch (e){
}
}
Call_backfunction(_features);
}catch (e){
}
},
error : function(xhr, status, error){
//alert("error: "+error);
}
});
}