2012-11-05 2 views
1

Я нарисовал линию между двумя геотомами. Как настроить масштаб экрана с помощью этих двух геоинформаций. То, что я хочу сделать, это показать начальные и конечные точки по умолчанию. Есть ли какой-нибудь алгоритм для этого?Как настроить масштабирование экрана по геоданным?

+0

Я думаю, ответ "нет" – MKJParekh

ответ

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

 Смежные вопросы

  • Нет связанных вопросов^_^