aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/apps/cache/navi/MapsWithMeApp.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/apps/cache/navi/MapsWithMeApp.java')
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/MapsWithMeApp.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/MapsWithMeApp.java b/main/src/cgeo/geocaching/apps/cache/navi/MapsWithMeApp.java
new file mode 100644
index 0000000..ea5aebb
--- /dev/null
+++ b/main/src/cgeo/geocaching/apps/cache/navi/MapsWithMeApp.java
@@ -0,0 +1,43 @@
+package cgeo.geocaching.apps.cache.navi;
+
+import cgeo.geocaching.Geocache;
+import cgeo.geocaching.R;
+import cgeo.geocaching.Waypoint;
+import cgeo.geocaching.geopoint.Geopoint;
+
+import com.mapswithme.maps.api.MapsWithMeApi;
+
+import android.app.Activity;
+
+public class MapsWithMeApp extends AbstractPointNavigationApp {
+
+ protected MapsWithMeApp() {
+ super(getString(R.string.cache_menu_mapswithme), R.id.cache_app_mapswithme, null);
+ }
+
+ @Override
+ public void navigate(Activity activity, Geopoint coords) {
+ navigate(activity, coords, getString(R.string.unknown));
+ }
+
+ @Override
+ public void navigate(Activity activity, Geocache cache) {
+ navigate(activity, cache.getCoords(), cache.getName());
+ }
+
+ private static void navigate(Activity activity, Geopoint coords, String label) {
+ MapsWithMeApi.showPointOnMap(activity, coords.getLatitude(), coords.getLongitude(), label);
+ }
+
+ @Override
+ public void navigate(Activity activity, Waypoint waypoint) {
+ navigate(activity, waypoint.getCoords(), waypoint.getName());
+ }
+
+ @Override
+ public boolean isInstalled() {
+ // the library can handle the app not being installed
+ return true;
+ }
+
+}