问题描述
我正在与deck.gl 合作制作地图,我们希望有一个圆圈,您可以在其中自定义半径。 这个圆是使用 d3 (v5) 和 d3.geoCircle 函数生成的,因为它可以很容易地放到deck.gl GeoJsonLayer 上。 问题是当半径变得太大时,圆(现在是 geojson 多边形)不会填充到地图的角落。
如图所示:
圆圈的行为符合预期,也是我们想要的,但圆圈的填充不是。 我希望这里的圆圈在环绕北极后填充到右上角和左上角,然后也填充到底角。
我认为尝试同时使用 d3 和deck.gl 时会出现问题,因为它们的设计初衷不是为了协同工作。
我想我可以通过手动将一些额外的坐标插入到 geojson 坐标数组中来让它工作,但是,我想知道 d3 是否已经有解决这个问题的方法,或者如果deck.gl 有。
我相信手动插入它们只会在圆圈穿过经度 180 / -180 边缘时起作用,否则,它们将不会与边缘对齐以便能够从中反转。
我正在为deck.gl 使用OrthographicView,以便获得等距柱状投影,但是,对于常规的墨卡托MapView,问题仍然存在。
Deck.gl 版本:8.4.0
d3 版本:5.12.0
编辑: 现在解决了,这里有一个要点:https://gist.github.com/tech-meppem/3e2d35eab93d27182bebc824b13407ad
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)