LocationMapViewer

From OpenStreetMap Wiki
Jump to navigation Jump to search
LocationMapViewer
LocationMapViewer-Teneriffa-noncluster-bubble.png
Author: klaus3b (k3b)
License: GNU GPL (free of charge)
Platform: Android 4.1+
Version: 0.3.8.210702 (2021-01-11)
Languages: German and English
Website: https://github.com/k3b/LocationMapViewer/wiki
Install:
Source code: https://github.com/k3b/LocationMapViewer
Programming language: Java

A serviceprovider that allows other apps to show "points of interest" in a map through a simple intent-api.

Features
Feature Value
Map Display
Display map yes
Map data raster
Source online;cache
Rotate map no
3D view no
Shows website
?
Shows phone number
?
Shows operation hours
?
Routing
Routing no
Create route manually
?
Calculate route no
Create route via Waypoints
?
Routing profiles
?
Turn restrictions no
Calculate route without Internet (Offline routing) no
Routing providers
?
Avoid traffic
?
Traffic Provider
?
Navigating
Navigate no
Find location no
Find nearby POIs no
Navigate to point no
Navigation with voice / Voice guidance no
Keep on road no
Lane guidance
?
Works without GPS yes
Navigate along predefined route no
Tracking
Make track no
Customizable log interval
?
Track formats
?
Geotagging
?
Fast POI buttons no
Upload GPX to OSM no
Monitoring
Monitoring no
Show current track no
Open existing track no
Altitude diagram no
Show POD value no
Satellite view no
Show live NMEA data no
Show speed no
Send current position no
Editing
Add POIs no
Edit / Delete POIs no
Add way no
Edit geometries no
Edit arbitrary tags of existing OSM objects no
Edit relations no
View notes no
Create notes
?
Edit notes no
Work offline offline
Support imagery offset DB no
Upload to OSM no
Rendering
?
Accessibility
Accessibility support
?
Complete non graphics text output no
Braille interface no
Exploration modus
?
Public Transport mode no
Danger Warnings no
Screenreader
?
Screenreader languages
?

A serviceprovider that allows other apps to show "points of interest" in a map through a simple intent-api.

Features

Example Usage

This android java code will show a map with 3 markers:

        Intent mapIntent = new Intent();
		
		// we want to view the map
        mapIntent.setAction(Intent.ACTION_VIEW);

		// this will be shown as primary marker in the map
		// the coordinate 53.2,8.8 is in north germany where the map is centered around
		// z=1 means zoomlevel=1 showing the continent
		// the marker's caption will be "primary marker"
        Uri uri = Uri.parse("geo:53.2,8.8?q=(primary+marker)&z=1");
        mapIntent.setDataAndType(uri, null);
		
		// this is the maps Caption
        mapIntent.putExtra(Intent.EXTRA_TITLE, "Hello Map");
		
		// the map will contain 2 additional point of interest
        mapIntent.putExtra("de.k3b.POIS",
                  "<poi ll='53.1,8.9'/>\n" +
                  "<poi ll='53.3,8.7' n='Say Hello' \n" +
                        " link='https://github.com/k3b/LocationMapViewer/' \n" +
                        " d='This will be shown as a Marker. When clicking on the marker you " + 
						"get this text and a link to LocationMapViewer' />");

        try {
            startActivityForResult(Intent.createChooser(mapIntent,"Choose app to show location"), 4711);
        } catch (Exception e) {
            e.printStackTrace();
        }

GeoIntentDemoActivity.java is the sourcecode of a complete android demo app that uses LocationMapViewer (or any other provider that supports "geo:" uris)

Minimal requirements:

  • Android-2.3.7 - Android-7 (API 10ff) for version v0.3.5.170911(6)
  • Android-4.1 and later (API 16ff) for version v0.3.7.210429
  • internet/wifi-connection to download geodata and a SD-Card to cache geodata

Requred permissions:

  • INTERNET: to download map data from Open Streetmap Server
  • ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE: to find out if wifi/internet is online to start downloading mapdata
  • WRITE_EXTERNAL_STORAGE
    • to cache downloaded map data in local file system
    • to load gpx/kml-Files to be displayed in the map
  • ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION: to display my own location in the map

Note: the app that uses LocationMapViewer via the intent api does not need these permissions.

Resources

LocationMapViewer is based on the libraries