将 geojson 层添加到 openlayers 3
Adding geojson layer to openlayers 3
我已经通过几个不同的例子来解决这个问题,但似乎没有任何效果。我正在尝试使用 GeoJSON 作为源在地图上简单地绘制一个点。这是我目前拥有的:
var staticGeo = new ol.source.GeoJSON(({
object: {
type: 'Feature Collection',
crs: {
type: 'name',
properties: {name: 'EPSG:4326'}
},
features: [{
type: 'Feature',
geometry: {
type: 'Point',
coordinates: [0,0]
}
}]
},
projection: 'EPSG:3857'
}));
var vectorSource = new ol.source.Vector({
source: staticGeo
});
var vectorLayer = new ol.layer.Vector({
source: vectorSource,
style: new ol.style.Style({
fill: new ol.style.Fill({
color: 'rgba(255,255,255,0.2)'
}),
stroke: new ol.style.Stroke({
color: 'blue',
width: 1
})
})
})
this.map.addLayer(vectorLayer);
this.map 指的是正在工作的 ol.Map 对象。总的来说似乎有很多代码来做一些看似微不足道的事情(也许我做错了什么?)。
从 OL 3.5.0 开始,您将像这样添加 geojson
:
var geojsonObject = {
'type': 'FeatureCollection',
'crs': {
'type': 'name',
'properties': {
'name': 'EPSG:4326'
}
},
'features': [
{
'type': 'Feature',
'geometry': {
'type': 'Point',
'coordinates': [21.54967, 38.70250]
}
}
]
};
var features = new ol.format.GeoJSON().readFeatures(geojsonObject, {
featureProjection: 'EPSG:3857'
});
var vectorSource = new ol.source.Vector({
features: features
});
记下投影坐标。
我已经通过几个不同的例子来解决这个问题,但似乎没有任何效果。我正在尝试使用 GeoJSON 作为源在地图上简单地绘制一个点。这是我目前拥有的:
var staticGeo = new ol.source.GeoJSON(({
object: {
type: 'Feature Collection',
crs: {
type: 'name',
properties: {name: 'EPSG:4326'}
},
features: [{
type: 'Feature',
geometry: {
type: 'Point',
coordinates: [0,0]
}
}]
},
projection: 'EPSG:3857'
}));
var vectorSource = new ol.source.Vector({
source: staticGeo
});
var vectorLayer = new ol.layer.Vector({
source: vectorSource,
style: new ol.style.Style({
fill: new ol.style.Fill({
color: 'rgba(255,255,255,0.2)'
}),
stroke: new ol.style.Stroke({
color: 'blue',
width: 1
})
})
})
this.map.addLayer(vectorLayer);
this.map 指的是正在工作的 ol.Map 对象。总的来说似乎有很多代码来做一些看似微不足道的事情(也许我做错了什么?)。
从 OL 3.5.0 开始,您将像这样添加 geojson
:
var geojsonObject = {
'type': 'FeatureCollection',
'crs': {
'type': 'name',
'properties': {
'name': 'EPSG:4326'
}
},
'features': [
{
'type': 'Feature',
'geometry': {
'type': 'Point',
'coordinates': [21.54967, 38.70250]
}
}
]
};
var features = new ol.format.GeoJSON().readFeatures(geojsonObject, {
featureProjection: 'EPSG:3857'
});
var vectorSource = new ol.source.Vector({
features: features
});
记下投影坐标。