我正在为我的项目使用Open层指令。我能在地图上画一个几何图形,现在我想放大它。
我看到了这个示例,这正是我想要做的(最合适的部分)。但我不知道如何用角指令来做。
以下是我在组件控制器中的一层:
_this.perimeterLayer = {
source: {
type: 'GeoJSON',
geojson: {
object: {
type: 'Feature',
geometry: {
type: 'Polygon',
coordinates: transformedCoords
}
}
}
},
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: 'blue',
width: 3
}),
fill: new ol.style.Fill({
color: 'rgba(0, 0, 255, 0.1)'
})
})
};以及在我看来我是如何使用它的:
<ol-layer ol-layer-properties="$ctrl.perimeterLayer"></ol-layer>你能帮帮我吗?
经常这样!
发布于 2016-11-17 14:44:08
好的,我找到了一个解决办法,我把它扔在这里,也许它能帮上忙!
其目的是从地图中获取您的层,然后解析数据,直到得到几何图形为止。
这是我做的函数(有点原始,但正在工作)
function perimeterFocus() {
var geometry;
olData.getMap().then(function (map) {
map.getLayers().forEach(function (lyr) {
if (lyr.get('name') == 'perimterLayer') {
var features = lyr.getSource().getFeatures();
geometry = features[0].getGeometry();
map.getView().fit(geometry, map.getSize());
}
});
});
}https://stackoverflow.com/questions/40653013
复制相似问题