首页 / 浏览问题 / WebGIS / 问题详情
iclient of openlayers添加geojson到地图不显示
22EXP 2023年02月02日

想通过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');
        })

1个回答

您好,

看您代码建议您先确认您的dropSource在读入json文件后,有没有导入转换到正确几何对象,若没有的话确认您的数据格式是否需要转换,比如GeoJSONFormat或JSONFormat等,若几何对象读取转换正确再确认坐标问题。

目前加载的地图服务具体是哪一个坐标系,Geojson数据是什么坐标系。

通常来说数据需要同一坐标系后才可以叠加,可以对原始地图数据进行投影转换,也可以对geojson数据进行投影转换来统一坐标系。

具体转换哪一份数据,在什么环节来转换,看您业务需求自行来决定。

希望可以帮助到您。
于丁
1
10,758EXP 2023年02月02日
...