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
- Support for displaying GPX, KML and KMZ files (For details see )
- Example: open a gpx or kmz file in an android filemanager
- Example: open a link to a gpx or kml file in an android webbrowser
- Support for interpreting Wikimedia-web-api xml
- Example: https://de.wikivoyage.org/w/api.php?action=query&format=xml&prop=coordinates%7Cinfo%7Cpageimages&inprop=url&piprop=thumbnail&generator=geosearch&ggscoord=28.12722%7C-15.43139&ggsradius=10000&ggslimit=5&pilimit=5
- Example: https://kmlexport.toolforge.org/?article=Category:Gran_Canaria&linksfrom=1&l=3
- Support for geo-uri-s
- Example: open a link to a geo uri in an android webbrowser.
- <a href='geo:0,0?q=53.0,8.0(Hello)'>geo:0,0?q=53.0,8.0(Hello)</a>
- Example: open a link to a geo uri in an android webbrowser.
- Support for geo-bookmarks
- to remember and quickly navigate to named latitude/longitude/zoomlevel
- Can work offline (without internet/wifi) once geodata is downloaded and cached.
- Other android apps can use LocationMapViewer through an intent api ...
- ... to show a map at certain latitude longitude zoomlevel with points of interest
- ... to pick a location from a map (i.e. "Where was this photo taken?")
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 available via f-droid store or apk internet download or sourcecode at github
- Recent changes see History
- Licence: GPLv3 or later
LocationMapViewer is based on the libraries
- Osmdroid with OSMBonusPack for showing the map and
- k3b-geoHelper for processing fileformats geo, kml, gpx, ...
This article is issued from Openstreetmap. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.