想通过iserver中的图层叠加geojson数据,一同显示在地图上。
现在iserver中的图层可以显示,但是本地导入的geojson数据无法显示
底图坐标是平面坐标系
如何导入本地的geojson数据,并显示到地图上呢
var boundaryurl =
`http://${window.isLocal}/iserver/services/map-hubei_province-2/rest/maps/boundary`
var riverUrl =
`http://${window.isLocal}/iserver/services/map-hubei_province-2/rest/maps/river`
var jsxUrl =
`http://${window.isLocal}/iserver/services/map-hubei-2/rest/maps/GRH_WTH_ALL`
// 方式一:1.调用 ol.supermap.initMap,根据 SuperMap iServer 地图服务的地图信息,创建地图和底图
// 2.调用 ol.source.TileSuperMapRest 创建叠加图层
ol.supermap
.initMap(boundaryurl, {
mapOptions: {
controls: ol.control
.defaults({ attributionOptions: { collapsed: false } })
.extend([new ol.supermap.control.Logo()]),
},
viewOptions: {
zoom: 3, //文字也变小了
},
})
.then(({ map, source }) => {
var Jinjing = new ol.layer.Tile({
source: new ol.source.TileSuperMapRest({
url: riverUrl,
tileGrid: source.getTileGrid(),
}),
})
map.addLayer(Jinjing)
var Jinjing2 = new ol.layer.Tile({
source: new ol.source.TileSuperMapRest({
url: jsxUrl,
tileGrid: source.getTileGrid(),
}),
})
map.addLayer(Jinjing2)
// 添加降雨量的json数据
// 还是不显示,为什么呢
var dropSource = new ol.source.Vector({
url: './drop.json',
format: new ol.format.GeoJSON(),
// features: (new ol.format.GeoJSON()).readFeatures(obj),
})
var dropLayer = new ol.layer.Vector({
source: dropSource,
})
map.addLayer(dropLayer)
var arr = map.getLayers().array_
console.log(arr,'arr');
})