{"id":18453461,"url":"https://github.com/jakubvalenta/geoshare","last_synced_at":"2026-02-11T10:01:26.302Z","repository":{"id":261316515,"uuid":"883688015","full_name":"jakubvalenta/geoshare","owner":"jakubvalenta","description":"An Android app to open Google Maps in other map apps and to create geo: links","archived":false,"fork":false,"pushed_at":"2025-03-27T20:34:09.000Z","size":3604,"stargazers_count":83,"open_issues_count":6,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-10T01:07:08.469Z","etag":null,"topics":["android","geo","gmaps","googlemaps","link","openstreetmap","osm","url"],"latest_commit_sha":null,"homepage":"https://f-droid.org/packages/page.ooooo.geoshare/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jakubvalenta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"jakubvalenta"}},"created_at":"2024-11-05T12:02:30.000Z","updated_at":"2025-04-06T22:43:30.000Z","dependencies_parsed_at":"2024-11-05T22:30:43.880Z","dependency_job_id":"20cc8781-37a8-416d-bfea-f252ab926b7d","html_url":"https://github.com/jakubvalenta/geoshare","commit_stats":{"total_commits":55,"total_committers":1,"mean_commits":55.0,"dds":0.0,"last_synced_commit":"79af56d26c7a7f8b311449cc3a0b555ff97823c6"},"previous_names":["jakubvalenta/geoshare"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakubvalenta%2Fgeoshare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakubvalenta%2Fgeoshare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakubvalenta%2Fgeoshare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakubvalenta%2Fgeoshare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jakubvalenta","download_url":"https://codeload.github.com/jakubvalenta/geoshare/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137887,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","geo","gmaps","googlemaps","link","openstreetmap","osm","url"],"created_at":"2024-11-06T08:00:26.764Z","updated_at":"2026-02-11T10:01:26.295Z","avatar_url":"https://github.com/jakubvalenta.png","language":"Kotlin","funding_links":["https://ko-fi.com/jakubvalenta"],"categories":[],"sub_categories":[],"readme":"# ![Application icon](./docs/icon-54.png) Geo Share\n\nAn Android app to open map links in other map apps and copy coordinates.\n\n[\u003cimg src=\"https://f-droid.org/badge/get-it-on.png\"\nalt=\"Get it on F-Droid\"\nheight=\"80\"\u003e](https://f-droid.org/packages/page.ooooo.geoshare/)\n[\u003cimg src=\"https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png\"\nalt=\"Get it on Izzy on Droid\"\nheight=\"80\"\u003e](https://apt.izzysoft.de/packages/page.ooooo.geoshare)\n\nIf you'd like to help getting the app published on **Google Play**, write me an\nemail to `jakub at jakubvalenta dot cz` and I'll invite you to the testing\nprogram.\n\n[![F-Droid](https://img.shields.io/f-droid/v/page.ooooo.geoshare?logo=f-droid\u0026label=F-Droid)](https://f-droid.org/packages/page.ooooo.geoshare/)\n[![Izzy on\nDroid](https://img.shields.io/endpoint?url=https://apt.izzysoft.de/fdroid/api/v1/shield/page.ooooo.geoshare\u0026label=IzzyOnDroid\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAADAFBMVEUA0////wAA0v8A0v8A0////wD//wAFz/QA0/8A0/8A0/8A0/8A0v///wAA0/8A0/8A0/8A0/8A0//8/gEA0/8A0/8B0/4A0/8A0/8A0/+j5QGAwwIA0//C9yEA0/8A0/8A0/8A0/8A0/8A0/+n4SAA0/8A0/8A0/+o6gCw3lKt7QCv5SC+422b3wC19AC36zAA0/+d1yMA0/8A0/+W2gEA0/+w8ACz8gCKzgG7+QC+9CFLfwkA0/8A0////wAA0/8A0/8A0/8A0/+f2xym3iuHxCGq5BoA1P+m2joI0vONyiCz3mLO7oYA0/8M1Piq3Ei78CbB8EPe8LLj9Ly751G77zWQ1AC96UYC0fi37CL//wAA0/8A0////wD//wCp3jcA0/+j3SGj2i/I72Sx4zHE8FLB8zak1kYeycDI6nRl3qEA0/7V7psA0v6WzTa95mGi2RvB5XkPy9zH5YJ3uwGV1yxVihRLiwdxtQ1ZkAf//wD//wD//wD//wD//wCn5gf//wD//wD//wD//wD//wAA0/+h4A3R6p8A0/+X1w565OD6/ARg237n9csz2vPz+gNt37V/vifO8HW68B/L6ZOCwxXY8KRQsWRzhExAtG/E612a1Rd/pTBpmR9qjysduKVhmxF9mTY51aUozK+CsDSA52T//wD//wAA0////wD//wBJ1JRRxFWjzlxDyXRc0pGT1wCG0CWB3VGUzSTh8h6c0TSr5CCJ5FFxvl6s4H3m8xML0/DA5CvK51EX1N+Y2gSt4Dag3ChE3fax2ki68yO57NF10FRZnUPl88eJxhuCxgCz5EOLwEGf1DFutmahzGW98x0W1PGk3R154MHE6bOn69qv3gy92oG90o+Hn07B7rhCmiyMwECv1nO+0pQfwrCo57xF2daXsVhKrEdenQAduaee1Bsjr42z5D9RoCXy+QNovXpy2Z5MtWDO/TiSukaF3UtE1K6j3B4YwLc5wXlzpyIK0u5zy3uJqg4pu5RTpkZmpVKyAP8A0wBHcExHcEyBUSeEAAABAHRSTlP///9F9wjAAxD7FCEGzBjd08QyEL39abMd6///8P/ZWAnipIv/cC6B//7////////L/1Dz/0D///////86/vYnquY3/v///5T//v///17///////////////84S3QNB/8L/////////////7r/////NP////9l/////wPD4yis/x7Ym2lWSP+em////0n////////v///////////////////7//7pdGN3Urr6/+v/6aT////+//H/o2P/1v+7r7jp4PM/3p4g////g///K///481LxO///v////9w////8v/////9/p3J///a+P9v/5KR/+n///+p/xf//8P//wAAe7FyaAAABCZJREFUSMdj+E8iYKBUgwIHnwQ3N7cEHxcH+///VayoAE0Dh41qR7aBnCIQ8MsJKHH9/99czYYMWlA0cIkJGjMgAKfq//9RNYzIgLcBWYOTiCgDMhDn+B9bh6LebiWyH6L5UZQzONoAHWSHoqEpDkkDsyKqelv1//9rG1HUN9YihZK9AKp6BkG+/6xNqA5ajhSsCkrIipmYGGRa//9vQXVQXSySBnkWJOUMfn5Myuz/G3hR1NdEIUUchwiy+bkTsg4dbW/fu6W/e1c3XMMy5JiOZkFxUFZo74mgKTqaKXu0+2HqVwkja3BH9kFu361JwcHTfPJD4mdfe8ULAdVRyGlJAcVFfg+CQOozZ4XrJ85+JgwBsVXIGriQw5Tp4ZScezd8JiWnBupru30qwJZa+ZAjmWlC8fUZM4qB6kPnLNSPLMWqQQ5ZQ5aOzs1HmamBaQHzFs6y+qAmJCTE8f9/QgKSBg4DJPWc6zVDQkIC09JkZSPD38kukpExFpT4z67uYI/QwCOOCCK/izvu5CWl6AcEWMnKWml7LWbKZfH9/99UkknQHhGsynDz+65eWXv3/JmJrq5eXienVlRUfH/z8VvCf45soKQIH1yDEQsszrp6gwq9C73T87xcXadKl5TkFev4A/2tygmSBqYXqAYJmK+ZuoJydDR1vP09DA0NOy2kpdML81+U/heCpH1JU3jig7lJ5nKOT4i/t6ZHkqGzs4lJmIVHfrj+JR4HqLQSD0yDkCNEpGNn5ix9D03/eJdElTZdKV2TpNOhkwt8YUlNUgimgV0dLMBvf1gz1MolPd5FRcVNSkpDQ8owJeBCDyIhrIDnOD5QcuIU+3/2QKSs9laQ+noNLS0zLWdtqyP7mBAFAw88TwsJgMuJYweBGjYngtWbmeuZOW+bvNQToUFOAlFqOBk4Ov3/L7Z60/aN0p1tUhpa5nqWlub7C3p2I9QzyAghlUvczOz/1fhzPT3XSIfpSmmYAdVbmm1gV0dSz8DSilpUQsqCddIWIA3meuZaJqdMJZEzl6gRqgZIWZAxUdoizERXN8yi5MltcZTChzMaRQM3JNUWHS8rL/+yaPGvMmvr5ywoGoxtkDWwQ+Pb89ycBeWfGSJeL/la+RS1eOPnRtbQKgMRjZg+t8x6PkP273nWQAoFOPAgaeAThKXAmXMrK39Kmr5fsuBlBqoXfJGLe3VbmHjG9Mczi9T//3h7vygXtcDlQtJg44iQiIjIBRbGPO7gghPJy0ZIxT2HOLIUgwxQzsgYrUR350HSIMaJLidhgKY+mw+pflBDrX8E7OGBjPCAPc76gQFSTqAIiYrb/8dRP4CyosJ/rmwU5XIxHMilt4QBJwsSkBMClxOQULBlkRRwEONmR2kJcDGjADX2/+xO8r5iqjExqmLyrWpcPFRta1BfAwCtyN3XpuJ4RgAAAABJRU5ErkJggg==)](https://apt.izzysoft.de/packages/page.ooooo.geoshare)\n[![GitHub](https://img.shields.io/github/v/release/jakubvalenta/geoshare?logo=github\u0026label=GitHub)](https://github.com/jakubvalenta/geoshare/releases/latest/download/page.ooooo.geoshare.apk)\n[![Translation status](https://hosted.weblate.org/widget/geoshare/svg-badge.svg)](https://hosted.weblate.org/engage/geoshare/)\n\nShare a map link with Geo Share and the app will open it in another installed\nmap app.\n\n**Supported map links**\n\n- Google Maps\n- Apple Maps\n- 2GIS\n- Amap (AutoNavi)\n- CoMaps\n- HERE WeGo\n- Magic Earth\n- Maps.me\n- Mapy.com\n- OpenStreetMap\n- Organic Maps\n- OsmAnd\n- Urbi\n- Waze\n- Yandex Maps\n- coordinates\n\n**Example use cases**\n\nWhen someone sends you a Google Maps link, but you prefer using OpenStreetMap,\nyou can quickly **open the same location** in OsmAnd or Organic Maps.\n\nWhen you like Google Maps for finding places, but you prefer a different app for\nnavigation, you can easily switch from Google Maps to your favorite\n**navigation app**.\n\n**Other features**\n\n- Shows the **geographic coordinates** of a map link and allows copying them to\n  clipboard in various formats, for example as a geo: link.\n- Shows all points of a **place list** link.\n- Allows performing an action **automatically** when a map link is processed.\n- Allows **launching navigation** in TomTom, Google Maps, Magic Earth...\n- Allows saving a location as a **GPX file**.\n- Retries on **patchy internet connection**.\n- Allows **pasting map links** directly into the app, instead of sharing them\n  with it.\n- Interface adapts to **tablets**.\n\n## Intro\n\n### How to show a map location in another map app\n\nShare a location from your map app or web browser.\n\n![Screenshot of Google Maps’ share screen](./docs/map_app.webp)\n\nChoose _Geo Share_ and the app will let you open the same location in any\ninstalled map app.\n\n![Screenshot of Geo Share’s share screen](./docs/geo_share_open.webp)\n\n### Configure Android to open links to Google Maps in alternative maps (optional)\n\nFirst, go to Settings \u003e Apps \u003e Maps \u003e _Open by default_ and turn off the opening\nof links in this app.\n\n![Screenshot of Google Maps’ Open by default\nsettings](./docs/open_by_default_google_maps.webp)\n\nThen go to Settings \u003e Apps \u003e Geo Share \u003e _Open by default_, turn on the opening\nof links in this app, and tap _Add links_.\n\n![Screenshot of Geo Share’s Open by default\nsettings](./docs/open_by_default_geo_share.webp)\n\nSelect at least `maps.google.com` and `maps.app.goo.gl`. If some links are\ngrayed out, other Google apps are set to open them by default. You can find\nthese apps and turn off the opening of links for them, like we did for Google\nMaps.\n\n## How it works\n\nGeo Share converts map links (e.g. https://maps.app.goo.gl/...) into geo: links\nthat can be opened by other map apps. To create a geo: link, geographic\ncoordinates are required. Geo Share extracts them from the map URL.\n\nHowever, not all map URLs include coordinates. In such cases, Geo Share will\n**prompt you for permission to connect to the map service (Google Maps, Apple\nMaps etc.)** and retrieve the coordinates from:\n\n- either HTTP headers, e.g.\n  `Location: https://google.com/maps/@40.78,-73.96,19z`\n- or HTML document, e.g.\n  `\u003cmeta property=\"place:location:latitude\" content=\"40.78\"\u003e`\n- or the whole web page with running JavaScript.\n\nIf you don’t allow connecting to the map service, then Geo Share creates a geo:\nlink with a search term instead of coordinates, or it stops, depending on the\nparticular link.\n\nTo permanently allow or deny connecting to the map service instead of always\nasking (the default), go to the app’s preferences.\n\n## Privacy considerations\n\nWhen possible, Geo Share converts map links offline. If the map link requires\nonline conversion, the app will ask you before connecting to the map service (\nGoogle Maps, Apple Maps, etc.). If you allow the connection, the map service\nwill receive the map link, it will be able to read your IP address, and in some\ncases Geo Share will load the live web page of the map service and execute its\nJavaScript. This happens in a restricted environment, which blocks tracking\nscripts and doesn’t store cookies.\n\n## Location permission\n\nGeo Share asks for location permission when launching the TomTom navigation and\nwhen sharing a GPX route, because in these cases the app needs to create a GPX\nroute that starts at your current location. The location information is\ndiscarded immediately after the creation of the route.\n\n## Reporting issues\n\nGeo Share supports many types of map links. If you still find a link that\ndoesn’t work,\nplease [report an issue](https://github.com/jakubvalenta/geoshare/issues/new?template=1-bug-map-link.yml).\n\n## Screenshots\n\n[\u003cimg src=\"./fastlane/metadata/android/en-US/images/phoneScreenshots/1.png\"\nalt=\"Screenshot of Geo Share’s main screen\"\nwidth=\"270\"\u003e](./fastlane/metadata/android/en-US/images/phoneScreenshots/1.png)\n[\u003cimg src=\"./fastlane/metadata/android/en-US/images/phoneScreenshots/2.png\"\nalt=\"Screenshot of Geo Share’s result screen\"\nwidth=\"270\"\u003e](./fastlane/metadata/android/en-US/images/phoneScreenshots/2.png)\n[\u003cimg src=\"./fastlane/metadata/android/en-US/images/phoneScreenshots/3.png\"\nalt=\"Screenshot of Geo Share’s automation configuration screen\"\nwidth=\"270\"\u003e](./fastlane/metadata/android/en-US/images/phoneScreenshots/3.png)\n[\u003cimg src=\"./fastlane/metadata/android/en-US/images/phoneScreenshots/4.png\"\nalt=\"Screenshot of Geo Share asking for permission to connect to Google\"\nwidth=\"270\"\u003e](./fastlane/metadata/android/en-US/images/phoneScreenshots/4.png)\n[\u003cimg src=\"./fastlane/metadata/android/en-US/images/phoneScreenshots/5.png\"\nalt=\"Screenshot of Geo Share’s intro screen\"\nwidth=\"270\"\u003e](./fastlane/metadata/android/en-US/images/phoneScreenshots/5.png)\n\n## Installation\n\n### From an app store (recommended)\n\nGet the app\non [F-Droid (recommended)](https://f-droid.org/packages/page.ooooo.geoshare/)\nor [Izzy on Droid](https://apt.izzysoft.de/packages/page.ooooo.geoshare).\n\n### From an APK file\n\n1. Download the APK\n   from [GitHub](https://github.com/jakubvalenta/geoshare/releases/latest/download/page.ooooo.geoshare.apk).\n\n2. Verify the APK signature:\n\n   ```shell\n   apksigner verify --print-certs page.ooooo.geoshare.apk\n   ```\n\n   Expected output:\n\n   ```\n   Signer #1 certificate DN: CN=Jakub Valenta, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=DE\n   Signer #1 certificate SHA-256 digest: 1b27b17a9df05321a93a47df31ed0d6645ebe55d0e89908157d71c1032d17c10\n   Signer #1 certificate SHA-1 digest: f847c6935fa376a568a56ca458896b9236e22b6c\n   Signer #1 certificate MD5 digest: 6bcaa6bd5288a6443754b85bf6700374\n   ```\n\n3. Install the APK on your phone using adb:\n\n   ```shell\n   adb -d install page.ooooo.geoshare.apk\n   ```\n\n## Development\n\nOpen this repo in Android Studio to build and run the app, and to run unit tests\nand instrumented tests.\n\n### Generating a signed release APK\n\n```shell\nexport STORE_FILE=path/to/keystore.js\nexport STORE_PASSWORD=mypassword\nexport KEY_ALIAS=com.example.android\nexport KEY_PASSWORD=mypassword\nmake build\n```\n\n### Setting up Google Play publishing\n\nCreate file `fastlane/Appfile` with the following content:\n\n```ruby\njson_key_file(\"path/to/play-store-credentials.json\")\npackage_name(\"page.ooooo.geoshare\")\n```\n\n### Updating Google Play metadata\n\n```shell\nfastlane metadata\n```\n\n### Manual testing\n\nTo share a URI input with the app running in emulator, run:\n\n```shell\nadb -s emulator-5554 shell am start -W -a android.intent.action.VIEW -d 'https://maps.apple.com/?q=Central+Park\\\u0026sll=50.894967,4.341626\\\u0026z=10\\\u0026t=s' page.ooooo.geoshare.debug\n```\n\nDon’t forget to escape the `\u0026` character.\n\nTo share a text input, run:\n\n```shell\nadb -s emulator-5554 shell am start -W -a android.intent.action.SEND -t text/plain -e android.intent.extra.TEXT 'N-68.648556,\\ E-152.775879' page.ooooo.geoshare.debug\n```\n\n## Contributing\n\nYour contributions are welcome! To show that you’d like to work on a bug, or\nfeature request, please comment on the relevant [GitHub\nissue](https://github.com/jakubvalenta/geoshare/issues) or create a new one.\n\n### Translating\n\nGeo Share is [available under\nWeblate](https://hosted.weblate.org/engage/geoshare/) thanks to their libre\ntier! More instructions can be found under *Info* in it.\n\n[![Translation status](https://hosted.weblate.org/widget/geoshare/multi-auto.svg)](https://hosted.weblate.org/engage/geoshare/)\n\n__Feel free to remix this project__ under the terms of the GNU General Public\nLicense version 3 or later. See [COPYING](./COPYING) and [NOTICE](./NOTICE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakubvalenta%2Fgeoshare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakubvalenta%2Fgeoshare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakubvalenta%2Fgeoshare/lists"}