gpt4 book ai didi

reactjs - 如何通过组件访问arcgis map?

转载 作者:行者123 更新时间:2023-12-05 05:38:59 26 4
gpt4 key购买 nike

下面的代码直接取自 arcgis,通过 react 如何显示 map 。

如果我想说,放大一组坐标,但代码是在另一个组件中设置的,我怎样才能让该组件在这个组件中与 map 对话?

import Map from '@arcgis/core/Map';
import MapView from '@arcgis/core/views/MapView';

const map = new Map({
basemap: "topo-vector"
});

const view = new MapView({
container: "viewDiv",
map: map
});

最佳答案

我通过使用 redux 工具包将 map 设置为全局状态对象来解决这个问题。

  1. 整个 map View 在 useEffect 中设置,一旦我初始化了每个 View ,我就将 map View 分派(dispatch)给 rtk 中的缩减程序。
    dispatch(updateMapViewState(view));

updateMapViewState: (state, action) => {
state.view = action.payload
},

然后,当我想在单独的组件中使用 map 时,我会:

    const view = useSelector((state) => state.MapSlice.view);

这样一来,所有组件都可以在 map 组件中useEffect之外访问 map ,并且可以在不创建新 map View 的情况下对其进行操作。这对我有用。我假设您可能可以使用 context api 来执行此操作,但我们并未将其用作全局状态管理器。

关于reactjs - 如何通过组件访问arcgis map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72796166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com