无法在 google 地图上绘制边界

Can`t draw borders on google map

我正在尝试使用一些 geojson 数据在 google 地图上为某些国家/地区绘制边界。 我在 js 文件的开头将整个 geojson 添加到一个数组中。 我遇到的问题是,对于某些国家/地区,根本没有划定边界。例如:加拿大、美国、俄罗斯、法国、澳大利亚等。 我试过修改,这样我只有多边形或更小的没有。的地理位置,但问题仍然存在。 这是带有 html 和地图 js 的回购协议:git repo 非常感谢任何帮助。

好的,你的问题是你的多维坐标数组(惊喜)。例如瑞典很好,加拿大不是,即使两者都是 MultiPolygon 类型。看看您是否能在这里发现差异(为简洁起见截断了代码):

加拿大:

 "coordinates": [
                    [
                        [
                            [-63.6645, 46.55001],
                            ...
                        ]
                    ],
                    [
                        [
                            [-61.806305, 49.10506],
                            ...
                        ]
                    ],

瑞典:

"coordinates": [
                    [
                        [
                            [22.183173, 65.723741],
                            ...
                        ],
                        [
                            [17.061767, 57.385783],
                            ...
                        ],  

加拿大的(以及可能所有其他不工作的)应该改为结构如下:

 "coordinates": [
                    [
                        [
                            [-63.6645, 46.55001],
                            ...
                        ],
                        [
                            [-61.806305, 49.10506],
                            ...
                        ]

我已经 pull request 修复了加拿大。您可以自己对其他国家进行排序!