[英]Drawing a circle on google maps static link
根据此SO答案https://stackoverflow.com/a/38100481/1520234 ,我尝试通过向getCircleAsPolyline
提供Location
数据,然后使用PolyUtil.encode
进行编码,在静态地图上绘制圆。
不幸的是,输出结果不是一个圆,而是类似以下内容:
有人可以请我解释为什么会这样吗,是否有可能形成一个真正的圈子,如果是这样,怎么做?
谢谢
编辑
抱歉,我不太清楚,我忘了提到我的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;
}
但结果是图片中显示的那个
对于那些来这里也遇到相同问题的人,我只是避免了对折线进行编码:只要我放下PolyUtil.encode并将点附加为|,就有效。 长,经度| 我已经能够画出一个完美的圆圈。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.