繁体   English   中英

在Google Maps上画一个圆静态链接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM