首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在React.js中修正与开放层6的交互导入错误

如何在React.js中修正与开放层6的交互导入错误
EN

Stack Overflow用户
提问于 2022-04-13 09:36:38
回答 1查看 418关注 0票数 1

如何在React.js中修复来自交互的导入错误。

试图导入错误:“交互”不是从“ol”(导入为“ol”)导出的。

我不知道怎么出口。

我遇到了很多问题,要用ol和ol-ext获得正确的进口,有人知道如何解决吗?

代码语言:javascript
复制
import React from 'react';
import 'ol/ol.css';
import 'ol-ext/dist/ol-ext.css';
import * as ol from 'ol';
import ol_PerspectiveMap from "ol-ext/map/PerspectiveMap";

const MapPerspective = () => {

    var layer = new ol.layer.Tile({ name: "OSM", source: new ol.source.OSM() });
    // The map
    var map = new ol_PerspectiveMap( {
        target: 'map',
        view: new ol.View({
            zoom: 15,
            center: [-237646.86, 4875851.77]
        }),
        interactions: ol.interaction.defaults(),
        layers: [layer]
    });

    map.setPerspective(30);

    map.on('change:perspective', function (e) {
        if (!e.animating) this('#angle').val(e.angle);
    })

    // Create vector layer for select
    var vectorSource = new ol.source.Vector({
        url: 'assets/dist/data/ignf.json',
        format: new ol_Format.GeoJSON(),
        attributions: ["&copy; <a href='http://professionnels.ign.fr/bdtopo'>ign.fr</a>"]
    });
    var vector = new ol.layer.VectorImage({
        source: vectorSource,
        maxResolution: 2
    });
    map.addLayer(vector);

    //   Select and draw interaction
    map.addInteraction(new ol.interaction.Select({
        layers: [vector],
        condition: function (e) {
            return (ol_Events.condition.pointerMove(e) && !ol_Events.condition.altKeyOnly(e))
        }
    }));
    map.addInteraction(new ol.interaction.Draw({ type: 'LineString' }))

    //   An overlay
    var place = new ol.overlay.Placemark({
        color: '#000',
        position: [-237646.86, 4875851.77],
        stopEvent: false
    });
    map.addOverlay(place);

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-19 08:27:28

在使用es模块时,必须导入如下所示的每个交互:

代码语言:javascript
复制
import { defaults } from 'ol/interaction';
import Draw from 'ol/interaction/Draw';

我建议你对所有的物体都做同样的事情。

阅读文档可以帮助您:https://openlayers.org/en/latest/apidoc/module-ol_interaction_Draw-Draw.html

我没有测试它是否与ol-ext一起工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71855202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档