LocationMapViewer

LocationMapViewer
Author: klaus3b (k3b)
License: GNU General Public License (free of charge)
Platform: android (Android-4.1 and up)
Version: 0.3.8.210702 (2021-05-13)
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.

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

This article is issued from Openstreetmap. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.