Я нарисовал линию между двумя геотомами. Как настроить масштаб экрана с помощью этих двух геоинформаций. То, что я хочу сделать, это показать начальные и конечные точки по умолчанию. Есть ли какой-нибудь алгоритм для этого?Как настроить масштабирование экрана по геоданным?
1
A
ответ
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));
}
(где тс ваш MapController)
+0
Остерегайтесь, что '(maxLat + minLat)/2' может переполниться. Вместо этого используйте 'maxLat - (maxLat - minLat)/2'. То же самое относится к долготе. – scai
Я думаю, ответ "нет" – MKJParekh