package org.mtransit.android.ui.view.map; import java.util.List; import android.graphics.Bitmap; import android.view.View; import com.google.android.gms.maps.CameraUpdate; import com.google.android.gms.maps.LocationSource; import com.google.android.gms.maps.Projection; import com.google.android.gms.maps.UiSettings; import com.google.android.gms.maps.model.CameraPosition; import com.google.android.gms.maps.model.LatLng; // based on Maciej Górski's Android Maps Extensions library (Apache License, Version 2.0) public interface ExtendedGoogleMap { int MAP_TYPE_HYBRID = com.google.android.gms.maps.GoogleMap.MAP_TYPE_HYBRID; int MAP_TYPE_NONE = com.google.android.gms.maps.GoogleMap.MAP_TYPE_NONE; int MAP_TYPE_NORMAL = com.google.android.gms.maps.GoogleMap.MAP_TYPE_NORMAL; int MAP_TYPE_SATELLITE = com.google.android.gms.maps.GoogleMap.MAP_TYPE_SATELLITE; int MAP_TYPE_TERRAIN = com.google.android.gms.maps.GoogleMap.MAP_TYPE_TERRAIN; Circle addCircle(CircleOptions circleOptions); GroundOverlay addGroundOverlay(GroundOverlayOptions groundOverlayOptions); IMarker addMarker(ExtendedMarkerOptions markerOptions); Polygon addPolygon(PolygonOptions polygonOptions); Polyline addPolyline(PolylineOptions polylineOptions); TileOverlay addTileOverlay(TileOverlayOptions tileOverlayOptions); void animateCamera(CameraUpdate cameraUpdate, CancelableCallback cancelableCallback); void animateCamera(CameraUpdate cameraUpdate, int time, CancelableCallback cancelableCallback); void animateCamera(CameraUpdate cameraUpdate); void clear(); CameraPosition getCameraPosition(); List<IMarker> getDisplayedMarkers(); int getMapType(); List<Circle> getCircles(); List<GroundOverlay> getGroundOverlays(); List<IMarker> getMarkers(); IMarker getMarkerShowingInfoWindow(); List<Polygon> getPolygons(); List<Polyline> getPolylines(); List<TileOverlay> getTileOverlays(); float getMaxZoomLevel(); float getMinZoomLevel(); float getMinZoomLevelNotClustered(IMarker marker); Projection getProjection(); UiSettings getUiSettings(); boolean isBuildingsEnabled(); boolean isIndoorEnabled(); boolean isMyLocationEnabled(); boolean isTrafficEnabled(); void moveCamera(CameraUpdate cameraUpdate); void setBuildingsEnabled(boolean buildingsEnabled); void setClustering(ClusteringSettings clusteringSettings); boolean setIndoorEnabled(boolean indoorEnabled); void setInfoWindowAdapter(InfoWindowAdapter infoWindowAdapter); void setLocationSource(LocationSource locationSource); void setMapType(int mapType); void setMyLocationEnabled(boolean myLocationEnabled); void setOnCameraChangeListener(OnCameraChangeListener onCameraChangeListener); void setOnInfoWindowClickListener(OnInfoWindowClickListener onInfoWindowClickListener); void setOnMapClickListener(OnMapClickListener onMapClickListener); void setOnMapLoadedCallback(OnMapLoadedCallback onMapLoadedCallback); void setOnMapLongClickListener(OnMapLongClickListener onMapLongClickListener); void setOnMarkerClickListener(OnMarkerClickListener onMarkerClickListener); void setOnMarkerDragListener(OnMarkerDragListener onMarkerDragListener); void setOnMyLocationButtonClickListener(OnMyLocationButtonClickListener listener); void setPadding(int left, int top, int right, int bottom); void setTrafficEnabled(boolean trafficEnabled); void snapshot(SnapshotReadyCallback callback); void snapshot(SnapshotReadyCallback callback, Bitmap bitmap); void stopAnimation(); interface CancelableCallback extends com.google.android.gms.maps.GoogleMap.CancelableCallback { @Override void onCancel(); @Override void onFinish(); } interface InfoWindowAdapter { View getInfoContents(IMarker marker); View getInfoWindow(IMarker marker); } interface OnCameraChangeListener extends com.google.android.gms.maps.GoogleMap.OnCameraChangeListener { @Override void onCameraChange(CameraPosition cameraPosition); } interface OnInfoWindowClickListener { void onInfoWindowClick(IMarker marker); } interface OnMapClickListener extends com.google.android.gms.maps.GoogleMap.OnMapClickListener { @Override void onMapClick(LatLng position); } interface OnMapLoadedCallback extends com.google.android.gms.maps.GoogleMap.OnMapLoadedCallback { @Override void onMapLoaded(); } interface OnMapLongClickListener extends com.google.android.gms.maps.GoogleMap.OnMapLongClickListener { @Override void onMapLongClick(LatLng position); } interface OnMarkerClickListener { boolean onMarkerClick(IMarker marker); } interface OnMarkerDragListener { void onMarkerDragStart(IMarker marker); void onMarkerDrag(IMarker marker); void onMarkerDragEnd(IMarker marker); } interface OnMyLocationButtonClickListener extends com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener { @Override boolean onMyLocationButtonClick(); } interface SnapshotReadyCallback extends com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback { @Override void onSnapshotReady(Bitmap snapshot); } }