I am making an android application that will show google map on the screen. By clicking on a button user can download a the his/her specific region and store that in internal storage. Later when internet connection is poor or not available then user can use the offline map downloaded earlier. How to make this kind of app. Please guide me.. Thanks.
You should carefully read Google Maps APIs Terms of Service especially 10.5 (d) and 10.5 (e), because technically you can (temporary) download tiles for specific region from Google Maps server via series of URLs like http://mt1.google.com/vt/lyrs=m&x=95&y=55&z=7 and then create custom tile provider for Google Maps like in this answer of Alex Vasilkov. Also take a look at this answer of KENdi.
Related
Looking for a little bit of help structuring my problem.
I will be traveling with friends to a party weekend and we are plotting locations of places to visit and see on a shared Google map with custom layers.
My thought is that I could add real-time location layers for each attendee, based on the lat/long of those with Android phones.
I'm trying to figure at the moment the elements of the code that I will need and asking the community for help structuring the design.
So far:
Working on a way to broadcast the current lat/long of the Android phone through an API
Determining the best way to import the returns (lat/long) from the API as a layer into Google Maps (thinking KML, but there may be a better solution with GPX or text files)
Once I finish 1 and 2, will write the code to accomplish the process and load to Google Maps
Any guidance is very much appreciated
Why do you need to develop everything of this sort when Google has already provided us with the My Map app. This app is available in Play Sore for Google as well as the App Store for Apple. So all your friends whether an Android or iPhone user can install this app on their phone.
With this app you all can customize the map as per the needs and share inside the group. This app explicitly serves the purpose for the vacation planning when a group is involved.
Take a look on the Google Play Store and the App Store to explore and download.
I've created an Android application that uses Google Maps API v2.
Can someone tell me if it is possible to download and store map tiles and map data for different areas of the map to be used offline. The ideal usage for this would be to be able to download the whole of the UK, store it on an SD card and then have my app look on the SD for the relevant map data.
Thanks
The answer pointed by Agil is for the case where you have your own TileProvider (i.e. you own the data). If you have access to the tiles, then yes, that is the right solution for you.
If you were thinking of downloading Google Maps tiles, then no, the API currently doesn't provide a way to download tiles for offline usage; only the one rendered on screen are cached.
Please refer to this answer. According to that answer, it is possible with Google Maps Android API v2.
I can't find relevant answer in the internet.
I want to use Openstreet Map offline as getting the map inside the sdcard and develop for Android app.
I can't find step by step guide how to save into sdcard. Then develop offline map.
Many thanks.
Not sure if this is a good question, but I will try to answer:
As #scai says, there is the #osmdroid toolbox that adds a widget to display OSM map tiles. This rendered tiles can be cached or downloaded from the OSM servers (respect TUP) and shared offline.
There are also other solutions to realize it https://wiki.openstreetmap.org/wiki/Frameworks
But please keep in mind, that it's usually not that easy:
maps get outdated and you wan't to update them at client side
map servers are shared goods and high speed bulk download is a shame
quickly your users will request geocoding, routing and all the features of Google Maps
quickly you want tot display more complex information on top of your widget
So I encourage you to think about what needs to be done first (also for further versions) and then pick the right toolbox :)
I've been browsing the internet for two days now looking for the best way to do this, here is my concern :
I'm currently developing an Android application where the user has to browse a map (preferably satellite view), add markers etc. The problem is that the user will often be in a spot without internet access.
Some info i gathered (correct me if I'm wrong):
Google earth doesn't have an Android API
Last Google map api for Android allows the developer to implement his own TileProvider (http://guides.cocoahero.com/google-maps-android-custom-tile-providers.html).
It's forbidden to cache google maps data
So at the end my questions are :
Is it possible to use the Android Google Map API to display tiles from another data source than google maps ?
If so what would be a good source of satellite map, available offline ?
I'm new to Android development so I wanted to ask you guys before trying it out!
Thanks in advance
http://howto.cnet.com/8301-11310_39-57462845-285/save-maps-for-offline-use-in-google-maps-for-android/
Ok so on android the new google maps can allow the user to save the map for offline use.
My question is my app uses google maps, can I access these saved maps from my app when I am in offline mode??
Thanks
Ok so on android the new google maps can allow the user to save the map for offline use.
The Google Maps application for Android offers offline caching.
My question is my app uses google maps, can I access these saved maps from my app when I am in offline mode?
The Google Maps SDK add-on for Android does not offer offline caching, at least not at this time.
I'm really not shure, but in my understanding, One uses the GoogleMaps through the Android-Maps-Api. So if you are showing a region you have stored before, the maps-api should deliver stored Map-tiles instead of downloading them from the internet. You can test this, if you store a region around your place, disable all Internet-acces on your phone, and test inside you app, if the stored regions are shown.
EDIT:
Sorry I testet it myself without Result. It will be too nice and easy if that would have worked, maybe Google adds this feature to their API one day