Stathis001 / Tourist_Guide

0 stars 0 forks source link

Ενεργοποίηση λειτουργείας οδηγιών προς τοποθεσίας σημείου. #18

Closed Stathis001 closed 8 months ago

Stathis001 commented 8 months ago

Πιθανότατα λειτουργεία μιας ξεχωριστής κλάσης που ακόμα δεν υπάρχει μέσα απο την MapActivity.java .

Argiris2000 commented 8 months ago

LocationHandler public void startDirections(double destinationLatitude, double destinationLongitude) { // Έλεγχος αν έχουν δοθεί τα απαραίτητα δικαιώματα if (ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { // Έλεγχος αν έχει ενεργοποιηθεί η λειτουργία τοποθεσίας if (googleMap.isMyLocationEnabled()) { // Λήψη της τρέχουσας τοποθεσίας fusedLocationClient.getLastLocation().addOnSuccessListener(activity, new OnSuccessListener() { @Override public void onSuccess(Location location) { if (location != null) { // Έναρξη των οδηγιών προς την προορισμένη τοποθεσία Uri gmmIntentUri = Uri.parse("google.navigation:q=" + destinationLatitude + "," + destinationLongitude); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); if (mapIntent.resolveActivity(activity.getPackageManager()) != null) { activity.startActivity(mapIntent); } } } }); } else { // Ενεργοποίηση της λειτουργίας τοποθεσίας enableMyLocation(); } } else { // Ζήτηση δικαιώματος πρόσβασης στην τοποθεσία ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, LOCATION_PERMISSION_REQUEST_CODE); } }

Argiris2000 commented 8 months ago

startDirections // Παράδειγμα: Κλήση της μεθόδου για τοποθεσία με συγκεκριμένες συντεταγμένες double destinationLatitude = 37.7749; // Παράδειγμα συντεταγμένων double destinationLongitude = -122.4194; locationHandler.startDirections(destinationLatitude, destinationLongitude);