org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider Java Examples
The following examples show how to use
org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: PositionPickerFragment.java From AsteroidOSSync with GNU General Public License v3.0 | 6 votes |
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { switch (requestCode) { case WEATHER_LOCATION_SYNC_PERMISSION_REQUEST: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { handleLocationToggle(mWeatherSyncCheckBox.isChecked()); } else { handleLocationToggle(false); mWeatherSyncCheckBox.setChecked(false); } break; } case WEATHER_LOCATION_PERMISSION_REQUEST: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { MyLocationNewOverlay mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(getContext()), mMapView); mLocationOverlay.enableMyLocation(); mMapView.getOverlays().add(mLocationOverlay); } } } }
Example #2
Source File: MapFragment.java From AIMSICDL with GNU General Public License v3.0 | 5 votes |
/** * Description: Initialises the Map and sets initial options such as: * Zoom levels and controls * Compass * ScaleBar * Cluster Pin colors * Location update settings */ private void setUpMapIfNeeded() { // Check if we were successful in obtaining the map. mMap.setBuiltInZoomControls(true); mMap.setMultiTouchControls(true); mMap.setMinZoomLevel(3); mMap.setMaxZoomLevel(19); // Latest OSM can go to 21! mMap.getTileProvider().createTileCache(); mCompassOverlay = new CompassOverlay(getActivity(), new InternalCompassOrientationProvider(getActivity()), mMap); ScaleBarOverlay mScaleBarOverlay = new ScaleBarOverlay(getActivity()); mScaleBarOverlay.setScaleBarOffset(getResources().getDisplayMetrics().widthPixels / 2, 10); mScaleBarOverlay.setCentred(true); // Sets cluster pin color mCellTowerGridMarkerClusterer = new CellTowerGridMarkerClusterer(getActivity()); //BitmapDrawable mapPinDrawable = (BitmapDrawable) getResources().getDrawable(R.drawable.ic_map_pin_orange); BitmapDrawable mapPinDrawable = (BitmapDrawable) ResourcesCompat.getDrawable(getResources(), R.drawable.ic_map_pin_orange, null); mCellTowerGridMarkerClusterer.setIcon(mapPinDrawable == null ? null : mapPinDrawable.getBitmap()); GpsMyLocationProvider gpsMyLocationProvider = new GpsMyLocationProvider(getActivity().getBaseContext()); gpsMyLocationProvider.setLocationUpdateMinDistance(100); // [m] // Set the minimum distance for location updates gpsMyLocationProvider.setLocationUpdateMinTime(10000); // [ms] // Set the minimum time interval for location updates mMyLocationOverlay = new MyLocationNewOverlay(getActivity().getBaseContext(), gpsMyLocationProvider, mMap); mMyLocationOverlay.setDrawAccuracyEnabled(true); mMap.getOverlays().add(mCellTowerGridMarkerClusterer); mMap.getOverlays().add(mMyLocationOverlay); mMap.getOverlays().add(mCompassOverlay); mMap.getOverlays().add(mScaleBarOverlay); }
Example #3
Source File: MapViewerOsmDroid.java From AIMSICDL with GNU General Public License v3.0 | 5 votes |
/** * Description: Initialises the Map and sets initial options such as: * Zoom levels and controls * Compass * ScaleBar * Cluster Pin colors * Location update settings */ private void setUpMapIfNeeded() { // Check if we were successful in obtaining the map. mMap.setBuiltInZoomControls(true); mMap.setMultiTouchControls(true); mMap.setMinZoomLevel(3); mMap.setMaxZoomLevel(19); // Latest OSM can go to 21! mMap.getTileProvider().createTileCache(); mCompassOverlay = new CompassOverlay(this, new InternalCompassOrientationProvider(this), mMap); ScaleBarOverlay mScaleBarOverlay = new ScaleBarOverlay(this); mScaleBarOverlay.setScaleBarOffset(getResources().getDisplayMetrics().widthPixels / 2, 10); mScaleBarOverlay.setCentred(true); // Sets cluster pin color mCellTowerGridMarkerClusterer = new CellTowerGridMarkerClusterer(MapViewerOsmDroid.this); //BitmapDrawable mapPinDrawable = (BitmapDrawable) getResources().getDrawable(R.drawable.ic_map_pin_orange); BitmapDrawable mapPinDrawable = (BitmapDrawable) ResourcesCompat.getDrawable(getResources(),R.drawable.ic_map_pin_orange, null); mCellTowerGridMarkerClusterer.setIcon(mapPinDrawable == null ? null : mapPinDrawable.getBitmap()); GpsMyLocationProvider gpsMyLocationProvider = new GpsMyLocationProvider(MapViewerOsmDroid.this.getBaseContext()); gpsMyLocationProvider.setLocationUpdateMinDistance(100); // [m] // Set the minimum distance for location updates gpsMyLocationProvider.setLocationUpdateMinTime(10000); // [ms] // Set the minimum time interval for location updates mMyLocationOverlay = new MyLocationNewOverlay(MapViewerOsmDroid.this.getBaseContext(), gpsMyLocationProvider, mMap); mMyLocationOverlay.setDrawAccuracyEnabled(true); mMap.getOverlays().add(mCellTowerGridMarkerClusterer); mMap.getOverlays().add(mMyLocationOverlay); mMap.getOverlays().add(mCompassOverlay); mMap.getOverlays().add(mScaleBarOverlay); }
Example #4
Source File: GPSTracker.java From Travel-Mate with MIT License | 5 votes |
/** * Function to switch GPS on */ public void displayLocationRequest(Context context, MapView mapView) { MyLocationNewOverlay mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(context), mapView); mLocationOverlay.enableFollowLocation(); mLocationOverlay.enableMyLocation(); mapView.getOverlays().add(mLocationOverlay); }
Example #5
Source File: MapsActivity.java From Finder with GNU General Public License v3.0 | 4 votes |
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")); }
Example #6
Source File: StarterMapFragment.java From osmdroid with Apache License 2.0 | 4 votes |
@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); }
Example #7
Source File: SampleAnimatedZoomToLocation.java From osmdroid with Apache License 2.0 | 4 votes |
@Override protected void addOverlays() { super.addOverlays(); final Context context = getActivity(); Toast.makeText(getActivity(), "Make sure location services are enabled!", Toast.LENGTH_LONG).show(); mGpsMyLocationProvider = new GpsMyLocationProvider(context); mGpsMyLocationProvider.startLocationProvider(new IMyLocationConsumer() { @Override public void onLocationChanged(Location location, IMyLocationProvider source) { mGpsMyLocationProvider.stopLocationProvider(); if(mMyLocationOverlay == null) { final ArrayList<OverlayItem> items = new ArrayList<>(); items.add(new OverlayItem("Me", "My Location", new GeoPoint(location))); mMyLocationOverlay = new ItemizedOverlayWithFocus<>(items, new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() { @Override public boolean onItemSingleTapUp(final int index, final OverlayItem item) { IMapController mapController = mMapView.getController(); mapController.setCenter(item.getPoint()); mapController.zoomTo(mMapView.getMaxZoomLevel()); return true; } @Override public boolean onItemLongPress(final int index, final OverlayItem item) { return false; } }, context); mMyLocationOverlay.setFocusItemsOnTap(true); mMyLocationOverlay.setFocusedItem(0); mMapView.getOverlays().add(mMyLocationOverlay); mMapView.getController().setZoom(10); IGeoPoint geoPoint = mMyLocationOverlay.getFocusedItem().getPoint(); mMapView.getController().animateTo(geoPoint); } } }); mRotationGestureOverlay = new RotationGestureOverlay(mMapView); mRotationGestureOverlay.setEnabled(false); mMapView.getOverlays().add(mRotationGestureOverlay); MinimapOverlay miniMapOverlay = new MinimapOverlay(context, mMapView.getTileRequestCompleteHandler()); mMapView.getOverlays().add(miniMapOverlay); }