使用Google Maps Android API v2显示多个点

Vis*_*Vis 2 android google-maps google-maps-android-api-2

我知道如何添加点到地图.

private void addMarkertoMap() {

        LatLng MarkerPos = new LatLng (24.803751, 1.479969);

        googlemap.addMarker(new MarkerOptions()

        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE))
        .position(MarkerPos)
        );
Run Code Online (Sandbox Code Playgroud)

但是,如果我有很多点(数百)并且我想从GML或KML文件中显示它们怎么办?它是否适用于Google Maps Android API?有帮助吗?

谢谢!

Dam*_*ian 6

您可以只添加屏幕上当前可见的那些标记(但请注意,您需要跟踪在屏幕上添加的那些标记,这样您就不会一遍又一遍地添加它们.您甚至可能想要删除那些不再可见的)

mMap.setOnCameraChangeListener(new OnCameraChangeListener() {
   @Override
   public void onCameraChange(CameraPosition position) {
      final LatLngBounds screenBounds = mMapView.getProjection().getVisibleRegion().latLngBounds;
      for (YourPoint point : mPoints) {
         if (screenBounds.contains(point.getLatLng()) {
            mMapView.addMarker(point.getLatLng());
         }
      } 
   }
}
Run Code Online (Sandbox Code Playgroud)