2011-08-29 84 views
0

我有一个经度和纬度点的数组。我用它们在地图上制作标记。我能做什么来同时显示地图上的所有标记。例如做一个不错的选择,这样,如果该标记是一个城市内的我,只显示城市,而不是整个州,国家等放大它...如何在googlemaps android中显示我的所有标记?

感谢

回答

2

这样的事情可能会帮助

private void centerGroup(int groupId){ 
    if(groupId>0){ 
     int minLat = Integer.MAX_VALUE; 
     int maxLat = Integer.MIN_VALUE; 
     int minLon = Integer.MAX_VALUE; 
     int maxLon = Integer.MIN_VALUE; 


     Cursor cursor = getYourLantLongs(groupId); 

     if (cursor.moveToFirst()){ 
      final int LAT_INDEX = cursor.getColumnIndex(T.Waypoints.LATITUDE); 
      final int LON_INDEX = cursor.getColumnIndex(T.Waypoints.LONGITUDE); 

      do { 
       final int lat = (int) (cursor.getFloat(LAT_INDEX)*1E6); 
       final int lon = (int) (cursor.getFloat(LON_INDEX)*1E6); 

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

      } while(cursor.moveToNext()); 


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

      /* 
      final int cLat = (int)((maxLat*1E6 + minLat*1E6)/2); 
      final int cLon = (int)((maxLon*1E6 + minLon*1E6)/2); 

      final int zLat = (int)Math.abs(maxLat - minLat); 
      final int zLon = (int)Math.abs(maxLon - minLon); 

      //mapController.zoomToSpan(zLat, zLon); 
      mapController.animateTo(new GeoPoint(cLat, cLon)); 
      */ 
     } 
    }   
} 

总之您在一个正方形和变焦。

+0

我在想,但我不知道有一个zoomtospan功能。非常感谢! – Sean

+0

PS。考虑将mapView更改为MapController mapController = mapView.getontroller(),当我没有在mapview类中找到zoomtospan特征时,有点困惑。 – Sean

+0

啊,这是在编辑时忽略复制粘贴!我正在使用mapview-proxy。我已将其更改为mapController。 – Samuel

1

通过您的阵列快去救救分钟和纬度和经度的最大值。 然后使用

mMapController.zoomToSpan((maxLatitude - minLatitude), (maxLongitude - minLongitude)); 

得到正确的缩放级别。并且

mMapController.animateTo(new GeoPoint(

           (maxLatitude + minLatitude)/2 , 

           (maxLongitude + minLongitude)/2)); 

将地图移动到标记的中心。

玩得开心!

相关问题