k3b / LocationMapViewer

Android App to view Locations in a map with support for gpx, kml and kmz data

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LocationMapViewer

An Android app to display geographic information from url or local gpx/kml/kmz/zip file in a map.

It has support for gpx, kml and kmz files and geo-uri-s and can work offline (without internet/wifi) once geodata is downloaded and cached.

Other Android apps can use LocationMapViewer through an Intent interface (see GeoIntentDemo.java ) or through html links like <a href="geo:0,0?q=53.0,8.0(Hello)">geo:0,0?q=53.0,8.0(Hello)</a>

Minimal requirements:

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

Licence: GPLv3

Required 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 downloaded geodata
  • 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, too

The code uses osmdroid library with osmbonuspack library to display maps from Open Street Map.

Intent Interface

Other Android apps can use LocationMapViewer as plug-in/device-driver through an Intent interface or through html-a-href-links.

Examples:

  • uri=geo:... displays (and zomms to) a geo uri
    • geo:0,0?q=53.0,8.0(Hello)
      • displays "hello" at the location lat=53.0 north and lon= 8.0 east.
      • in html you can use <a href="geo:0,0?q=53.0,8.0(Hello)">geo:0,0?q=53.0,8.0(Hello)</a>
      • this format is compatible with google-maps for android
    • geo:53.0,8.0?q=(Hello)
      • displays "hello" at the location lat=53.0 north and lon= 8.0 east
      • this format is not compatible with google-maps for android
    • geo:53.0,8.0?z=6
      • displays a pin at the location using zoomlevel "6"
  • uri=file:/path/to/waypoints.gpx
    • displays a xml+gpx waypointfile
  • uri=content:/path/to/waypoints.kml
    • displays a vnd.google-earth.kml+xml waypointfile

LocationMapViewer can handle local files that end with

  • .kml, .kml.zip, .kmz (kml in zip)
  • .gpx, .gpx.zip, .gpz (gpx in zip)
  • .poi, .poi.zip, .poz (poi in zip)

LocationMapViewer can handle http(s): and content: urls with mime

  • application/vnd.google-earth.kml+xml
  • application/vnd.google-earth.kmz
  • application/xml+kml
  • application/xml+gpx
  • application/xml+poi
  • application/zip+xml+kml
  • application/zip+xml+gpx
  • application/zip+xml+poi

LocationMapViewer is designed to be used by other apps. This means in Terms of GPLv3 that your app that uses the Intent-Iterface is not considered a Derived Work.

In other words: you can used LocationMapViewer as a driver for your non gpl/non opensource app..

For more informations see https://github.com/k3b/LocationMapViewer/wiki


Donations:

If you like this app please consider to donating to https://wiki.openstreetmap.org/wiki/Donations .

Since android-developping is a hobby (and an education tool) i do not want any money for my apps so donation should go to projects I benefit from.

About

Android App to view Locations in a map with support for gpx, kml and kmz data

License:GNU General Public License v3.0


Languages

Language:Java 91.8%Language:Python 8.2%