gpt4 book ai didi

android - OSMDroid - 中心到折线

转载 作者:行者123 更新时间:2023-11-29 19:49:00 37 4
gpt4 key购买 nike

我正在使用 OSMDroid,我有一组地理点,然后我创建了一条折线,如下所示:

private void drawPolyline(ArrayList<GeoPoint> polyline) {
Polyline line = new Polyline(this);
line.setPoints(polyline);
line.setWidth(5f);
line.setGeodesic(true);
mv_map.getOverlays().add(line);
mv_map.invalidate();
}

这段代码工作正常,但问题是我需要在 map 中聚焦这条路线。我知道我可以找到一个中点并将 map 以它为中心,但我不知道如何设置正确的缩放比例,我不知道是否已经有一种方法可以更有效地找到多段线的中心。

谢谢。

最佳答案

一种可能的解决方案是使用方法 zoomToBoundingBox .这是一个关于如何将它与点列表一起使用的小示例。

                    int minLat = Integer.MAX_VALUE;
int maxLat = Integer.MIN_VALUE;
int minLong = Integer.MAX_VALUE;
int maxLong = Integer.MIN_VALUE;

for (GeoPoint point : polylinePoints) {
if (point.getLatitudeE6() < minLat)
minLat = point.getLatitudeE6();
if (point.getLatitudeE6() > maxLat)
maxLat = point.getLatitudeE6();
if (point.getLongitudeE6() < minLong)
minLong = point.getLongitudeE6();
if (point.getLongitudeE6() > maxLong)
maxLong = point.getLongitudeE6();
}

BoundingBoxE6 boundingBox = new BoundingBoxE6(maxLat, maxLong, minLat, minLong);
osmMap.zoomToBoundingBox(boundingBox.increaseByScale(1.3f));//this is some sort of padding to your bounding box

我们的想法是找到一个适合所有点的正方形。

关于android - OSMDroid - 中心到折线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37325324/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com