WIP adding google maps uri support
This commit is contained in:
parent
4f59359f5e
commit
3ac332535d
@ -0,0 +1,33 @@
|
||||
package it.danieleverducci.nextcloudmaps.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
|
||||
/**
|
||||
* Google maps doesn't honor geouri standard, instead implements its own uri.
|
||||
* A geouri opens google maps, but the position is ignored, so it is needed to use gmaps own uri.
|
||||
* Utility to check if gmaps is installed and generate a gmaps uri
|
||||
*/
|
||||
public class GoogleMapsUri {
|
||||
|
||||
public static boolean isGoogleMapsInstalled(Context context) {
|
||||
try {
|
||||
context.getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0);
|
||||
return true;
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static Uri createGmapsUri(double lat, double lon) {
|
||||
// Check coords validity
|
||||
if (lon <= -180 || lon >= 180 )
|
||||
throw new IllegalArgumentException("Invalid longitude: " + lon);
|
||||
if (lat <= -90 || lat >= 90)
|
||||
throw new IllegalArgumentException("Invalid latitude: " + lat);
|
||||
|
||||
String uriStr = "https://www.google.com/maps/search/?api=1&query=" + lat + "," + lon;
|
||||
return Uri.parse(uriStr);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user