1

我在两个地理点之间画了一条线。如何通过这两个地理点设置屏幕缩放。我想要做的是默认显示起点和终点。有什么算法吗?

4

1 回答 1

1

这是我所做的:

private void centerMap() {

            int minLat = Integer.MAX_VALUE;
            int maxLat = Integer.MIN_VALUE;
            int minLon = Integer.MAX_VALUE;
            int maxLon = Integer.MIN_VALUE;

            for (Point point : twoPoints) {

                    int lat = (int) (point.getLatitude() * 1E6);
                    int lon = (int) (point.getLongitude() * 1E6);

                    maxLat = Math.max(lat, maxLat);
                    minLat = Math.min(lat, minLat);
                    maxLon = Math.max(lon, maxLon);
                    minLon = Math.min(lon, minLon);
            }

                    mc.zoomToSpan(Math.abs(maxLat - minLat), Math.abs(maxLon - minLon));
            mc.animateTo(new GeoPoint((maxLat + minLat) / 2, (maxLon + minLon) / 2));
    }

(其中 mc 是您的 MapController)

于 2012-11-05T14:30:01.180 回答