Открытые слои 6 - слой изображения в сочетании с векторным слоем - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь объединить слой изображения с векторным слоем, но когда я добавляю проекцию в View, векторы исчезают. Я что-то делаю не так?

Вот пример того, чего я пытаюсь достичь: https://stackblitz.com/edit/react-ol6

Я хочу, чтобы эти два слоя ниже были вместе в Просмотр.

Векторный слой

Слой изображения

1 Ответ

0 голосов
/ 09 июня 2020

Для тех, кто ищет ответ, Майк дал отличное решение, в котором вы устанавливаете значение экстента, равное протяженности векторного слоя. Еще раз спасибо.

var extent = [-e,-e,e,e];
var source = new VectorSource({});

var vectorLayer = new VectorLayer({
    source: source,
});

var imageLayer = new ImageLayer({
    source: new Static({
        url: "https://imgs.xkcd.com/comics/online_communities.png",
        projection: new Projection({
            units: "pixels",
            extent: extent
        }),
        imageExtent: extent,
    }),
});
vectorLayer.setZIndex(1);
imageLayer.setZIndex(0);

var olMap = new Map({
    target: null,
    layers: [imageLayer, vectorLayer],

    view: new View({


    projection: new Projection({
          units: "pixels",
              extent: extent,
       }),
        center: getCenter(extent),
   // center: [0,0],
        zoom: 0,
    }),
});

class App extends Component {
    componentDidMount() {
    olMap.setTarget("olmap");
        vectorLayer.getSource().addFeatures(features);
    }

    render() {
        return (
            <div className="App">
                <div id="olmap" style={{ width: "100%", height: "80%" }} />
            </div>
        );
    }
}

Также вот стек, которым он поделился: https://stackblitz.com/edit/react-ol6-xw1x9l

...