在谷歌地图上绘制一个圆圈静态链接

时间:2017-04-29 07:45:05

标签: android google-maps

我正在尝试在静态地图上绘制一个圆圈,向getCircleAsPolyline提供Location数据,然后使用PolyUtil.encode进行编码,根据此SO回答https://stackoverflow.com/a/38100481/1520234

不幸的是,输出不是一个圆圈,而是像这样奇怪的东西:

output

任何人都可以向我解释为什么会发生这种情况,是否有可能获得一个真正的圈子,如果是这样的话?

感谢

修改

我为不太清楚而道歉,我忘了提到实际上我getCircleAsPolyline与我链接的SphericalUtil.computeOffset略有不同,因为我使用getCircleAsPolyline来计算坐标;无论如何,下面是我的private static ArrayList<LatLng> getCircleAsPolyline(Location center, float radius) { ArrayList<LatLng> circlePath = new ArrayList<>(); double step = 5.0; double centerLatitude = center.getLatitude(); double centerLongitude = center.getLongitude(); for (double angle = 0.0; angle < 360.0; angle += step) { LatLng circlePoint = SphericalUtil.computeOffset( new LatLng(centerLatitude, centerLongitude), radius, (90.0 - angle + 360.0) % 360.0 ); circlePath.add(circlePoint); } return circlePath; } 函数:

x <- runif(10)
class(x) <- "percent"
print.percent <- function(x) print(scales::percent(as.numeric(x)))

但结果是图片中显示的那个

1 个答案:

答案 0 :(得分:1)

对于那些来这里遇到同样问题的人,我只是避免对折线进行编码:只要我放弃 PolyUtil.encode 并将点追加为 | lat,long | 我已经能画出一个完美的圆圈。