Eu tenho um arquivo GeoJSON chamado mygeojson.json e quero adicioná-lo como uma camada no OpenLayers 3 na parte superior de uma camada openstreetmap. Até agora, eu podia exibir o mundo do openstreetmap, incluindo zoom etc., mas por algum motivo não consigo colocar o mygeojson.json nele.
O geojson contém muitos polígonos e fica assim:
{
"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 ] ] ] } }
]
}
meu 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>
Eu também tentei remover as informações da projeção, mas não adianta.
fonte
Para sua informação ... Eu acredito que isso mudou para o OL3 V3.5.0, então a resposta de gcarrillo seria:
Você pode ver as alterações aqui: https://github.com/openlayers/ol3/blob/master/changelog/upgrade-notes.md#v350
fonte
A API do vetor OpenLayers está mudando bastante. Eu tenho uma amostra de trabalho com o OpenLayers 3.16.0.
É importante que você defina
featureProjection: 'EPSG:3857'
nas opçõesreadFeatures
como esta:A referência pode ser encontrada em https://github.com/openlayers/ol3/blob/master/changelog/upgrade-notes.md#v350
Exemplo:
Nota: styleFunction
fonte