Java源码示例:org.osmdroid.views.overlay.CopyrightOverlay
示例1
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Log.d(TAG, "onActivityCreated");
mMapView.getOverlays().clear();
CopyrightOverlay copyrightOverlay = new CopyrightOverlay(getActivity());
copyrightOverlay.setTextColor(Color.GREEN);
copyrightOverlay.setTextSize(20);
copyrightOverlay.setAlignBottom(true);
copyrightOverlay.setAlignRight(false);
copyrightOverlay.setOffset(20,40);
//with align bottom and left, this should be 20dp from the bottom, 20dp from the left
mMapView.getOverlays().add(copyrightOverlay);
}
示例2
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Log.d(TAG, "onActivityCreated");
if (mMapView != null) {
addOverlays();
final Context context = this.getActivity();
final DisplayMetrics dm = context.getResources().getDisplayMetrics();
CopyrightOverlay copyrightOverlay = new CopyrightOverlay(getActivity());
copyrightOverlay.setTextSize(10);
mMapView.getOverlays().add(copyrightOverlay);
mMapView.setMultiTouchControls(true);
mMapView.setTilesScaledToDpi(true);
}
}
示例3
protected void setupMapView(MapView mapView, final GeoPoint pos) {
map = mapView;
map.getOverlays().add(new CopyrightOverlay(this));
map.setTileSource(TileSourceFactory.MAPNIK);
map.getZoomController().setVisibility(CustomZoomButtonsController.Visibility.NEVER);
map.setMultiTouchControls(true);
map.setTilesScaledToDpi(false);
mapController = map.getController();
mapController.setZoom(Config.Map.INITIAL_ZOOM_LEVEL);
mapController.setCenter(pos);
}
示例4
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Context ctx = getApplicationContext();
Configuration.getInstance().load(ctx, PreferenceManager.getDefaultSharedPreferences(ctx));
Configuration.getInstance().setUserAgentValue(BuildConfig.APPLICATION_ID);
setContentView(R.layout.activity_open_map);
SharedPreferences sPref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
map = findViewById(R.id.map2);
Configuration.getInstance().setTileFileSystemCacheMaxBytes(1024*1024*Long.parseLong(sPref.getString("cache_size", "5")));
Configuration.getInstance().setTileFileSystemCacheTrimBytes(512*1024*Long.parseLong(sPref.getString("cache_size", "5"))); // trim storage to ~50% from max after oversize limit
if (sPref.getBoolean("satellite", false)) {
final MapBoxTileSource tileSource = new MapBoxTileSource();
tileSource.retrieveAccessToken(this);
tileSource.retrieveMapBoxMapId(this);
map.setTileSource(tileSource);
} else {
map.setTileSource(TileSourceFactory.MAPNIK);
}
map.setBuiltInZoomControls(true);
map.setMultiTouchControls(true);
mapController = map.getController();
CopyrightOverlay copyOverlay = new CopyrightOverlay(this);
copyOverlay.setAlignRight(true);
map.getOverlays().add(copyOverlay);
ScaleBarOverlay scaleBar= new ScaleBarOverlay(map);
scaleBar.setUnitsOfMeasure(ScaleBarOverlay.UnitsOfMeasure.metric);
scaleBar.setScaleBarOffset(getResources().getDisplayMetrics().widthPixels/2, 50);
scaleBar.setCentred(true);
map.getOverlays().add(scaleBar);
GpsMyLocationProvider gpsProvider = new GpsMyLocationProvider(this.getBaseContext());
MyLocationNewOverlay myLoc = new MyLocationNewOverlay(gpsProvider, map);
myLoc.setDrawAccuracyEnabled(true);
map.getOverlays().add(myLoc);
CompassOverlay compasOver = new CompassOverlay(this.getBaseContext(), map);
compasOver.enableCompass();
map.getOverlays().add(compasOver);
dBase baseConnect = new dBase(this);
db = baseConnect.getWritableDatabase();
Intent intent = this.getIntent();
mapController.setZoom(intent.getDoubleExtra("zoom", 15.0d));
String act = intent.getAction();
if (act.equals("track")) {
track_id = intent.getIntExtra("track_id", 0);
line = new Polyline(map);
line.setColor(Color.BLUE);
line.setInfoWindow(null); //delete popup label from track
line.setGeodesic(true); //draw "true" lines instead simple lines (great circles)
trackRedraw();
map.getOverlays().add(line);
} else {
String accuracy = intent.getStringExtra("accuracy");
GeoPoint startPoint = new GeoPoint(intent.getDoubleExtra("lat", 0d), intent.getDoubleExtra("lon", 0d));
mapController.setCenter(startPoint);
Marker startMarker = new Marker(map);
startMarker.setPosition(startPoint);
startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
map.getOverlays().add(startMarker);
startMarker.setTitle(accuracy);
}
//receiver to map updating
LocalBroadcastManager.getInstance(this).registerReceiver(updMap, new IntentFilter("update_map"));
}
示例5
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Context ctx = getApplicationContext();
Configuration.getInstance().load(ctx, PreferenceManager.getDefaultSharedPreferences(ctx));
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentView = inflater.inflate(R.layout.activity_map, null, false);
setContent(contentView);
noMap = (TextView) findViewById(R.id.noMap);
map = (MapView) findViewById(R.id.map);
map.setTileSource(TileSourceFactory.MAPNIK);
map.setTilesScaledToDpi(true);
map.setBuiltInZoomControls(true);
map.setMultiTouchControls(true);
IMapController mapController = map.getController();
mapController.setZoom(14.0);
GeoPoint startPoint = new GeoPoint(LocationHelper.helper.getCurrentLocation());
mapController.setCenter(startPoint);
CopyrightOverlay copyrightOverlay = new CopyrightOverlay(this);
copyrightOverlay.setTextSize(10);
map.getOverlays().add(copyrightOverlay);
ScaleBarOverlay scaleBarOverlay = new ScaleBarOverlay(map);
map.getOverlays().add(scaleBarOverlay);
// Scale bar tries to draw as 1-inch, so to put it in the top center, set x offset to
// half screen width, minus half an inch.
scaleBarOverlay.setScaleBarOffset(
(int) (getResources().getDisplayMetrics().widthPixels / 2 - getResources()
.getDisplayMetrics().xdpi / 2), 10);
getLoaderManager().initLoader(LOADER_ID_INIT, null, this);
mDrawerToggle.setDrawerIndicatorEnabled(false);
}
示例6
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
final Context context = this.getActivity();
final DisplayMetrics dm = context.getResources().getDisplayMetrics();
mPrefs = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
//My Location
//note you have handle the permissions yourself, the overlay did not do it for you
mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(context), mMapView);
mLocationOverlay.enableMyLocation();
mMapView.getOverlays().add(this.mLocationOverlay);
//Mini map
mMinimapOverlay = new MinimapOverlay(context, mMapView.getTileRequestCompleteHandler());
mMinimapOverlay.setWidth(dm.widthPixels / 5);
mMinimapOverlay.setHeight(dm.heightPixels / 5);
mMapView.getOverlays().add(this.mMinimapOverlay);
//Copyright overlay
mCopyrightOverlay = new CopyrightOverlay(context);
//i hate this very much, but it seems as if certain versions of android and/or
//device types handle screen offsets differently
mMapView.getOverlays().add(this.mCopyrightOverlay);
//On screen compass
mCompassOverlay = new CompassOverlay(context, new InternalCompassOrientationProvider(context),
mMapView);
mCompassOverlay.enableCompass();
mMapView.getOverlays().add(this.mCompassOverlay);
//map scale
mScaleBarOverlay = new ScaleBarOverlay(mMapView);
mScaleBarOverlay.setCentred(true);
mScaleBarOverlay.setScaleBarOffset(dm.widthPixels / 2, 10);
mMapView.getOverlays().add(this.mScaleBarOverlay);
//support for map rotation
mRotationGestureOverlay = new RotationGestureOverlay(mMapView);
mRotationGestureOverlay.setEnabled(true);
mMapView.getOverlays().add(this.mRotationGestureOverlay);
//needed for pinch zooms
mMapView.setMultiTouchControls(true);
//scales tiles to the current screen's DPI, helps with readability of labels
mMapView.setTilesScaledToDpi(true);
//the rest of this is restoring the last map location the user looked at
final float zoomLevel = mPrefs.getFloat(PREFS_ZOOM_LEVEL_DOUBLE, 1);
mMapView.getController().setZoom(zoomLevel);
final float orientation = mPrefs.getFloat(PREFS_ORIENTATION, 0);
mMapView.setMapOrientation(orientation, false);
final String latitudeString = mPrefs.getString(PREFS_LATITUDE_STRING, "1.0");
final String longitudeString = mPrefs.getString(PREFS_LONGITUDE_STRING, "1.0");
final double latitude = Double.valueOf(latitudeString);
final double longitude = Double.valueOf(longitudeString);
mMapView.setExpectedCenter(new GeoPoint(latitude, longitude));
setHasOptionsMenu(true);
}
示例7
/** Called when the activity is first created. */
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Setup base map
setContentView(R.layout.activity_samplewithtilesoverlay);
Toolbar toolbar = findViewById(R.id.my_toolbar);
setSupportActionBar(toolbar);
//noinspection ConstantConditions
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
final LinearLayout mapContainer = findViewById(R.id.map_container);
mMapView = new MapView(this);
mMapView.setTilesScaledToDpi(true);
mapContainer.addView(this.mMapView, new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
mMapView.getZoomController().setVisibility(
CustomZoomButtonsController.Visibility.SHOW_AND_FADEOUT);
//Copyright overlay
String copyrightNotice = mMapView.getTileProvider().getTileSource().getCopyrightNotice();
CopyrightOverlay copyrightOverlay = new CopyrightOverlay(this);
copyrightOverlay.setCopyrightNotice(copyrightNotice);
mMapView.getOverlays().add(copyrightOverlay);
// zoom to the netherlands
mMapView.getController().setZoom(8.);
mMapView.getController().setCenter(new GeoPoint(53.6, 5.3));
// Add tiles layer
MapTileProviderBasic provider = new MapTileProviderBasic(getApplicationContext());
provider.setTileSource(TileSourceFactory.PUBLIC_TRANSPORT);
TilesOverlay tilesOverlay = new TilesOverlay(provider, this.getBaseContext());
tilesOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
mMapView.getOverlays().add(tilesOverlay);
}
示例8
/** Called when the activity is first created. */
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Setup base map
setContentView(R.layout.activity_samplewithtilesoverlayandcustomtilesource);
Toolbar toolbar = findViewById(R.id.my_toolbar);
setSupportActionBar(toolbar);
//noinspection ConstantConditions
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
final LinearLayout mapContainer = findViewById(R.id.map_container);
mMapView = new MapView(this);
mMapView.setTilesScaledToDpi(true);
//Copyright overlay
String copyrightNotice = mMapView.getTileProvider().getTileSource().getCopyrightNotice();
CopyrightOverlay copyrightOverlay = new CopyrightOverlay(this);
copyrightOverlay.setCopyrightNotice(copyrightNotice);
mMapView.getOverlays().add(copyrightOverlay);
mapContainer.addView(mMapView, new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
mMapView.getZoomController().setVisibility(
CustomZoomButtonsController.Visibility.SHOW_AND_FADEOUT);
// zoom to the netherlands
mMapView.getController().setZoom(7D);
mMapView.getController().setCenter(new GeoPoint(51.5D, 5.4D));
// Add tiles layer with custom tile source
final MapTileProviderBasic tileProvider = new MapTileProviderBasic(getApplicationContext());
final ITileSource tileSource = new XYTileSource("FietsRegionaal", 3, 18, 256, ".png",
new String[] { "http://overlay.openstreetmap.nl/openfietskaart-rcn/" });
tileProvider.setTileSource(tileSource);
tileProvider.getTileRequestCompleteHandlers().add(mMapView.getTileRequestCompleteHandler());
final TilesOverlay tilesOverlay = new TilesOverlay(tileProvider, this.getBaseContext());
tilesOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
mMapView.getOverlays().add(tilesOverlay);
}