Добавьте точки Openlayers на карту как один слой

1
  plotBaseLayer (data) {
    this.setState({ data: data })

    const baseFeatures = []
    let baseLayer = Object()

    Object.keys(data.features).forEach((key) => {
      const basePoints = new olFeature({
        geometry: new olGeomPoint(olProj.transform(
          [data.features[key].geometry.coordinates[0], data.features[key].geometry.coordinates[1]],
          'EPSG:4326', MapHandler.map.getView().getProjection().getCode())
        )
      })

      baseFeatures.push(basePoints)
      const vectorSource = new olSourceVector()

      vectorSource.addFeature(basePoints)
      baseLayer = new olLayerVector({ source: vectorSource })

      this.map.addLayer(baseLayer)
    })
  }

В настоящее время я добавляю каждую точку в функцию и отдельно добавляю эту функцию к карте как отдельный слой. Как я могу структурировать свой код и/или использовать альтернативные функции Openlayers, чтобы отображать все точки в виде одного слоя? Спасибо, что посмотрели!

Теги:
openlayers
geospatial

1 ответ

1
Лучший ответ

Возможно, это работает?

 plotBaseLayer(data) {
    this.setState({
        data: data
    })
    const baseFeatures = []
    let baseLayer = Object()
    Object.keys(data.features).forEach((key) => {
            const basePoints = new olFeature({
                    geometry: new olGeomPoint(olProj.transform(
                            [data.features[key].geometry.coordinates[0], data.features[key].geometry.coordinates[1]],
                            'EPSG:4326', MapHandler.map.getView().getProjection().getCode()))
                })
                baseFeatures.push(basePoints)
    })

    const vectorSource = new ol.source.Vector({
       features: baseFeatures
    });


    baseLayer = new olLayerVector({
            source: vectorSource
    })
    this.map.addLayer(baseLayer)
 }
  • 1
    Если бы это было так просто. Спасибо хоть.
  • 0
    Я изменил код, вы можете попробовать это? @Digfield (см. VectorSource)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню