reactjs - Openlayers ol 未定义
问题描述
这是我要导入的内容:
import React, { useState, useEffect, useRef } from 'react';
import 'ol/ol.css';
import ExtentInteraction from 'ol/interaction/Extent';
import { Map, View } from 'ol';
import { OSM } from 'ol/source';
import { Tile as TileLayer } from 'ol/layer';
import { shiftKeyOnly } from 'ol/events/condition';
import { Stroke, Style } from 'ol/style';
import { Control, defaults as defaultControls } from 'ol/control';
这是我对被标记的 ol 的用法:
const controls = map.getControls();
controls.forEach((control) => {
console.log(control instanceof ol.control.Zoom);
});
错误是 ol 未定义。这是我的导入问题还是需要使用其他参考?
解决方案
Zoom
也从以下位置导入ol/control
:
import { Control, Zoom, defaults as defaultControls } from 'ol/control';
...
controls.forEach((control) => {
console.log(control instanceof Zoom);
});
推荐阅读
- javascript - 如何一次出现多个相同的对象
- sql - 如何在 DateTime 类型列上使用 WHERE 子句选择年份
- jenkins - 如何使用 TFS 插件从 Jenkins 连接到 Azure Repos TFVC 存储库?
- python - 如何使用 mongoimport 将 csv 合并到集合中
- angular - Angular HttpInterceptor 不适用于登录后的第一个请求
- android - 为什么用jsoup解析后img标签没有src值?
- latex - \afterpage 和 \endfloat
- javascript - 如何绕过请求限制?
- javascript - how can i fix my javascript calculation which is not working?
- python - 如何将我自己的模块导入到一个scrapy项目中?