gpt4 book ai didi

javascript - 在 react-mapbox-gl 中显示多边形

转载 作者:行者123 更新时间:2023-11-30 09:26:03 24 4
gpt4 key购买 nike

我正在使用这个包 https://github.com/alex3165/react-mapbox-gl在我的应用程序中。我想显示多边形,但是当我这样做时:

console.log("Display polygon");

let polygonPaint = MapboxGL.FillPaint = {
'fill-color': "#ff0000",
'fill-opacity': 0.3
}

<Layer key={"polygonKey"} type="fill" paint={polygonPaint}>
<Feature coordinates={
[[[-67.13734351262877, 45.137451890638886],
[-66.96466, 44.8097],
[-68.03252, 44.3252],
[-69.06, 43.98],
[-70.11617, 43.68405],
[-70.64573401557249, 43.090083319667144],
[-70.75102474636725, 43.08003225358635],
[-70.79761105007827, 43.21973948828747],
[-70.98176001655037, 43.36789581966826],
[-70.94416541205806, 43.46633942318431],
[-71.08482, 45.3052400000002],
[-70.6600225491012, 45.46022288673396],
[-70.30495378282376, 45.914794623389355],
[-70.00014034695016, 46.69317088478567],
[-69.23708614772835, 47.44777598732787],
[-68.90478084987546, 47.184794623394396],
[-68.23430497910454, 47.35462921812177],
[-67.79035274928509, 47.066248887716995],
[-67.79141211614706, 45.702585354182816],
[-67.13734351262877, 45.137451890638886]]]
}/>
</Layer>

然后渲染循环... :/并一次又一次地渲染相同的多边形。我试过使用 GeoJSONLayer 圆圈、标记,而且只有 <Layer>导致此问题。
所以我的问题是我是否可以在 GeoJSONLayer 中显示多边形?我可以看到 mapbox 提供了类似这样的东西 ( https://www.mapbox.com/mapbox-gl-js/example/geojson-polygon/ ),但我不知道如何在 React 包中做到这一点。

最佳答案

好的,我已经完成了。数据对象的类型应为:“FeatureCollection”,然后几何对象的类型应为“多边形”。 GeoJSONLayer 需要“fillPaint”对象来显示漂亮的多边形;)我的代码:geojson 对象

{  
type: "FeatureCollection",
features: [{
"type": "Feature",
"properties": {
"category": cat,
},
"geometry": {
"type": "Polygon",
"coordinates": [[
[-67.13734351262877, 45.137451890638886],
[-66.96466, 44.8097],
[-68.03252, 44.3252],
[-69.06, 43.98],
[-70.11617, 43.68405],
[-70.64573401557249, 43.090083319667144],
[-70.75102474636725, 43.08003225358635],
[-70.79761105007827, 43.21973948828747],
[-70.98176001655037, 43.36789581966826],
[-70.94416541205806, 43.46633942318431],
[-71.08482, 45.3052400000002],
[-70.6600225491012, 45.46022288673396],
[-70.30495378282376, 45.914794623389355],
[-70.00014034695016, 46.69317088478567],
[-69.23708614772835, 47.44777598732787],
[-68.90478084987546, 47.184794623394396],
[-68.23430497910454, 47.35462921812177],
[-67.79035274928509, 47.066248887716995],
[-67.79141211614706, 45.702585354182816],
[-67.13734351262877, 45.137451890638886]
]]
}
}]
}

以及GeoJSONLayer组件的使用

<GeoJSONLayer
key={index}
data={geojsonObject}
fillPaint={polygonPaint}
/>

我希望它对某人有用:)

关于javascript - 在 react-mapbox-gl 中显示多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49059467/

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