2

My company has an Enterprise client/server application that runs on Android. I am adding a feature that will include a MapView. I am trying to decide if I should use Google Maps or some other mapping service.

My concern with Google Maps is that it requires Google APIs. These APIs appear to be included in all Google-approved versions of Android, but that may be too limiting for us. We do not want one feature to limit the devices we can support. I am particularly concerned about Amazon which might be moving away from Google Maps. This might prevent us from running on the Kindle Fire.

I have looked at OpenStreetMap, but the quality seems to be a notch or two below Google.

To summarize, I am looking for guidance on the following:

  1. Am I correct in thinking that Google APIs may limit the Android devices we can support?
  2. Can I bundle the Google APIs with our Android application, thus ensuring that they are present on the device? This is the model for other 3rd-party software.
  3. Could anyone suggest a reasonable alternative to Google Maps?
EJK
  • 12,332
  • 3
  • 38
  • 55

2 Answers2

1
  1. Yes, Google maps will not work on the kindle fire
  2. You can't bundle them, but you could use a webview to open up the webview of google maps? I haven't tried that before though.
  3. I don't know of any. Depending on your application you could have a serverside component cut out a section of the map you're using and add pins where they need to be. Either way it's not a good solution for you though.

[Edit] Found an option.. you can go here: amazon map api signup

Then in your app, you'll have to basically create two activities or views, one that uses each approach, and then launch the appropriate one based on what is installed on the device. You can query if the maps are available as shown here

Community
  • 1
  • 1
BoredAndroidDeveloper
  • 1,251
  • 1
  • 11
  • 26
  • Thank you for the information. I will be starting on this project soon. When I do, I will evaluate Amazon maps as an alternative. When I do, I will post my findings here. – EJK Oct 13 '12 at 15:37
  • You should be able to use both. You may have to create different activities, but you can launch them depending on which APIs are present. I haven't looked at the amazon api, but if you design the app right you should be able to re-use most of your code regardless. (Assuming the usual overlays and everything is possible on both) – BoredAndroidDeveloper Oct 15 '12 at 14:52
  • Update: After some discussion, our Product Management decided that it was acceptable to build this with Google APIs. We will only officially support devices with these APIs. Going forward, if/when we decided to support other non-Google-approved devices, we will re-visit this decision. – EJK Nov 05 '12 at 18:52
1

We've been using Sygic GPS SDK in our current project. I realize that the main point of that product is to provide GPS navigation and I wouldn't call the license cost effective either, but it does a good job on navigation and you can also display map views as well.

Other than that someone else has already got together a list of map api's on SO. Maybe one of those will help you.

Community
  • 1
  • 1
TJ Thind
  • 784
  • 5
  • 17