我正在使用Google Map 开发一个Web应用程序,以在 Map 中绘制圆圈 . 这个圆圈存储在MySQL 5.7数据库中,其表示用Polygon object来自JTS library .

圆也以中心和半径存储 . 在Google Map 中绘制圆形多边形时,从数据库中获取中心和半径,然后创建Google Map 的circle object .

绘制圆的结果在使用polygon object from Google Maps绘制时会发生变化,并且其中心和半径存储在数据库中,并且从存储在数据库中的多边形绘制时 . 两个界限之间存在一些差异,以米为单位 .

如下例所示:

circle bound differences

使用Google Maps Circle对象绘制黑色边框圆圈,使用Google Maps Polygon对象绘制紫红色边框圆圈 . 缩放设置为最大值 . 你可以欣赏是非常相似的,但有一个错误,大约2 o 3米 . 在此示例中,圆的半径为8.000米(8千米),位于马德里 .

当半径圆变大时,这个问题就会增大 .

可能是因为使用了JTS库而发生了这个错误我不知道是否使用了geodesic库,比如Spatial4j,解决了这个问题(我有另外一个问题,正如我之前提到的,我不知道这是不是解决方案) .

非常感谢你!