Как позвонить в getFeatureInfo с веб-листом реакции? - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть пример из github, как добавить слой wms: https://github.com/PaulLeCam/react-leaflet/blob/master/example/components/wms-tile-layer.js

но как получитьFeatureInfo при нажатии на слой wms?

1 Ответ

1 голос
/ 22 апреля 2020
Компонент

Reaction-leaflet WMSTileLayer реализует базовый буклет L.TileLayer, который не поддерживает GetFeatureInfo:

Нет поддержки GetCapabilities, поддержки легенды и нет. Поддержка GetFeatureInfo.

Вы можете использовать плагин WMS для Leaflet, который поддерживает GetFeatureInfo, например leaflet.wms

Этапы установки:

установить leaflet.wms пакет:

npm i leaflet.wms

представить компонент для слоя WMS:

import React, { Component } from 'react';
import { withLeaflet, useLeaflet } from "react-leaflet";
import * as WMS from "leaflet.wms";

function CustomWMSLayer(props) {
    const { url, options,layers } = props;
    const ctx = useLeaflet()
    const map = ctx.map;


    // Add WMS source/layers
    const source = WMS.source(
        url,
        options
    );

    for(let name of layers){
        source.getLayer(name).addTo(map)
    }

    return null;
}

Результат

enter image description here

Демо

...