Mam plik GeoJSON o nazwie mygeojson.json i chcę go dodać jako warstwę w OpenLayers 3 na wierzchu warstwy openstreetmap. Do tej pory mogłem wyświetlać świat openstreetmap, w tym zoom itp., Ale z jakiegoś powodu nie mogę uzyskać na nim pliku mygeojson.json.
Geojson zawiera wiele wielokątów i wygląda następująco:
{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": [
{ "type": "Feature", "properties": { "DN": 2 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 13.559093915055664, 52.545214330050563 ], [ 13.559633429050496, 52.545205649772548 ], [ 13.559633415380715, 52.545214636296755 ], [ 13.559093915055664, 52.545214330050563 ] ] ] } }
]
}
mój main.html:
<!doctype html>
<html lang="en">
<head>
<link rel='stylesheet' href='http://ol3js.org/en/master/css/ol.css'>
<style>
#map {
height: 100%;
width: 100%;
}
</style>
<title>OpenLayers 3 example</title>
<script src="ol3/ol.js" type="text/javascript"></script>
</head>
<body>
<h1>My Map</h1>
<div id="map"></div>
<script type="text/javascript">
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
new ol.layer.Vector({
title: 'added Layer',
source: new ol.source.GeoJSON({
projection : 'EPSG:4326',
url: 'mygeojson.json'
})
})
],
view: new ol.View({
center:[52.5243700 , 13.4105300],
zoom:2
})
});
</script>
</body>
</html>
Próbowałem też usunąć informacje o projekcji, ale bezużyteczne.
źródło
FYI ... Myślę, że to się zmieniło dla OL3 V3.5.0, więc odpowiedź gcarrillo brzmiałaby:
Możesz zobaczyć zmiany tutaj: https://github.com/openlayers/ol3/blob/master/changelog/upgrade-notes.md#v350
źródło
OpenLayers Vector API bardzo się zmienia. Mam działającą próbkę z OpenLayers 3.16.0.
Ważne jest, aby zdefiniować
featureProjection: 'EPSG:3857'
w opcjachreadFeatures
takich jak ten:Odniesienia można znaleźć na https://github.com/openlayers/ol3/blob/master/changelog/upgrade-notes.md#v350
Przykład:
Uwaga: funkcja Style
źródło