0

我从不是geoJson的数据库中获取数据,所以我使用array.map函数动态地根据我获取的数据创建一个,然后传递给组件。但似乎这个 geoJson 粘贴到 URL 作为 GET 参数......

如果我将 geoJson 保存为静态文件然后导入,它可以工作。

如何在 React-map-gl 中将 GET 方法更改为 POST 方法?

 <Source
  type="geojson"
  data={myData}
  ref={_sourceRef}
  >
 <Layer {...stopPointLayer} />
 </Source>

4

1 回答 1

0

我们可以通过查看 和 的源代码来确定这里的根本uber/react-map-gl原因mapbox/mapbox-gl-js。当你传入data={myData}你的Source组件时,/react-map-gl依赖于 Mapbox GeoJSONSource#setData如下所示:src/components/source.js

if (type === 'geojson') {
  source.setData(sourceOptions.data);
}

API 参考中setData所述,data参数必须是 GeoJSON 数据对象或一个 URL。听起来可能是当您myData动态传递时,它的格式可能不正确,但是当您将其配置为静态文件时。在这种特定情况下,我看不出问题与 GET 与 POST 请求有关的原因。

于 2020-03-31T18:59:53.050 回答