2017-12-13 3 views
0

간단한 OpenLayers 4.6 응용 프로그램을 빌드하기 시작하고 일부 지점 기능이있는 간단한지도를 만들려고합니다. OpenLayers 사이트에서 GeoJSON 예제를 수정하려고했습니다. 내가 겪고있는 문제는 geojson 객체가 잘못되어 애플리케이션이 다음 오류를 던지고 있다는 것입니다 : Uncaught TypeError: Cannot read property 'length' of undefined. 기술적으로 이것은 객체가 아닌 배열이므로 길이 속성을 가져서는 안되기 때문에 왜 오류가 발생하는지 알 수 없습니다. 주요 차이점은 geojson 객체의 기능에 "속성"속성을 추가 한 것 같습니다.OpenLayers 4.6 geojson 기능을 읽는 중 오류가 발생했습니다.

var geojsonObject = { 
    "type": "FeatureCollection", 
    "crs": {"type": "name","properties": {"name": "EPSG:3857"}, 
    "Features":[ 
     { 
     "type" : "feature", 
     "geometry" : {"type" : "Point", "coordinates" : [-4.65, 79.36]}, 
     "properties" : { 
     "name" : "ARED", 
     "country" : "Rwanda", 
     "sector" : "ITC" 
    } 
    },{ 
    "type" : "feature", 
    "geometry" : {'type':'Point','coordinates': [8.08, 29.19]}, 
    "properties" : { 
     "name" : "Bio Phyto Collines", 
     "country": "Benin", 
     "sector": "Organic Ag Inputs" 
     } 
    } 
    ]}} 
var vectorSource = new ol.source.Vector({ 
    features: (new ol.format.GeoJSON()).readFeatures(geojsonObject) 
}); 

geojson을 전달하면 readFeatures 메소드에서 오류가 발생합니다. 다른 구현 방법에 대해서는 개방적이지만, 수동으로 각 기능을 작성하는 것보다 더 우아하게하려고했습니다.

답변

2

geojsonObject 개체를 다시 확인하십시오. JSON 유형의 Object로 더 들여 쓰기를하십시오. 나는, 기능 배열이 코드

var geojsonObject = { 
    "type": "FeatureCollection", 
    "crs": { // First, you didn't close `crs` brackets 
    "type": "name", 
    "properties": { 
     "name": "EPSG:3857" 
    } 
    }, 
    "features":[{ 
    "type" : "Feature", // Second, it's `Feature' not `feature` 
    "geometry" : { 
     "type" : "Point", 
     "coordinates" : [-4.65, 79.36] 
    }, 
    "properties" : { 
     "name" : "ARED", 
     "country" : "Rwanda", 
     "sector" : "ITC" 
    } 
    }, { 
    "type" : "Feature", // Feature again. 
    "geometry" : { 
     'type':'Point', 
     'coordinates': [8.08, 29.19] 
    }, 
    "properties" : { 
     "name" : "Bio Phyto Collines", 
     "country": "Benin", 
     "sector": "Organic Ag Inputs" 
    } 
    }] 
}; 
+0

나는 그것이 JSON에 질식 실현하지만, "기능"단일 기능 개체에 대한 올바른에서 잘못된 점에 대한 의견을 추가 – nizz0k

+0

아, 잘못 오타입니다. 실제로 그것은 '피처 (Feature)'가 아니고 '피처 (Feature)'와 '피처 (Feature)'가 아닙니다. –

관련 문제