如何通过地点设置屏幕缩放?

问题描述:

我在2个地点之间画了一条线。如何通过这2个地点设置屏幕缩放。我想要做的是默认显示开始点和结束点。有没有任何算法?如何通过地点设置屏幕缩放?

+0

我想答案是 “否” – MKJParekh

这里我所做的:

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)

+0

要注意的是'(maxLat + minLat)/ 2'可能溢出。改用'maxLat - (maxLat - minLat)/ 2'。经度也是如此。 – scai