Amazon Maps API Overview (v2.5)
With the Amazon Maps API, you can create tablet apps with high-quality interactive maps that support pinching, rotating, zooming, panning, and other common gestures in a fluid way.
- Common Use Cases for the Amazon Maps API
- Amazon Maps API Features
- Fire Tablets that Support the Maps API v2.5
- Minimum API Level
- International Maps Support
- Download the Amazon Maps SDK (v2.5)
- Technical Overview
- Next Steps
Common Use Cases for the Amazon Maps API
What can you do with the Amazon Maps API? Common use cases might be to show a list of locations for your business, along with popups that include address and phone number details. For example, the sample app has an interactive map that shows a chain of coffee shops. Users can click a Coffee Shops button to show where all the coffee shops are located on a map. They can click each shop to see the address and phone number of the shop, and more. See the Sample App Demo for a demonstration.
Other uses might be a review app that shows different nearby businesses in different categories. For example, users might choose to see all nearby restaurants, supermarkets, gas stations, cafes, or other places. Another use could be a trail or hiking map that lets users explore a terrain through interactive gestures.
Although phone apps tend to be more common in mobile situations, tablets are more common in interactive kiosks and at physical events (such as museums or conferences). Tablet apps also give users more screen space to see details and other points of interest on a map. The larger screen space allows users to use more of their hand to manipulate the map.
You have many different possibilities for the Amazon Maps API in your app. Here are a few more examples:
- A museum app that lets children see where extinct animals are located
- An adventure park app that lets you see where all rides and bathrooms are located
- A mall app that highlights different store categories on a map
- A county app that shows all public swimming pools and parks in the area
- A tourist app that shows historical places and other points of interest in an area
We're constantly interacting in different spaces and need maps to guide us to areas of interest. You can create these experiences with the Amazon Maps API. Your app will be compatible with the millions of Fire tablet devices that are used across the world.
Amazon Maps API Features
The following is a list of the most important Amazon Maps API features:
- Display high-quality vector maps with fluid zooming and panning
- Display standard and satellite map tiles
- Use Fragments
- Display location data
- Handle user interaction with the map
- Add markers to show a specific locations on the map
- Draw polylines to connect two or more locations
- Draw polygons to highlight a neighborhood or circle an area
The following is a sample map embedded in a tablet app. This is a static representation — the app lets you pinch, zoom, rotate, and use other gestures in a fluid way.
Fire Tablets that Support the Maps API v2.5
Fire tablet support for the Maps API v2.5 depends on the tablet's Fire OS version. Amazon Maps API is supported on tablets that have Fire OS 5 or later. Support begins as of two specific dates: July 28 for Fire OS 7, and October 26 for Fire OS 5. Tablets running Fire OS 6 will be upleveled to Fire OS 7 on July 28. The following table shows the details.
Fire Tablet | Maps v2.5 Support | Build Model | Android Version, API level | Latest Fire OS Version |
---|---|---|---|---|
Fire HD 8 (2024, 12th Gen) | Supported | KFRAPWI (3GB), KFRASWI (4GB) |
Android 11, API Level 30 | Fire OS 8 |
Fire HD 10 (2023, 13th Gen) | No | KFTUWI |
Android 11, API Level 30 | Fire OS 8 |
Fire Max 11 (2023, 13th Gen) | No | KFSNWI |
Android 11, API Level 30 | Fire OS 8 |
Fire HD 8 (2022, 12th Gen) | Supported | KFRAWI (2GB), KFRAPWI (3GB) |
Android 11, API Level 30 | Fire OS 8 |
Fire 7 (2022, 12th gen) | Supported | KFQUWI |
Android 11, API Level 30 | Fire OS 8 |
Fire HD 10 (2021, 11th gen) | Supported | KFTRWI (3GB), KFTRPWI (4GB) |
Android 9, API Level 28 | Fire OS 7 |
Fire HD 8 (2020, 10th Gen) | Supported | KFONWI |
Android 9, API Level 28 | Fire OS 7 |
Fire HD 10 (2019, 9th Gen) | Supported | KFMAWI |
Android 9, API Level 28 | Fire OS 7 |
Fire 7 (2019, 9th Gen) | Yes | KFMUWI |
Android 9, API Level 28 | Fire OS 7 |
Fire HD 8 (2018, 8th Gen) | Yes | KFKAWI |
Android 9, API Level 28 | Fire OS 7 |
Fire HD 10 (2017, 7th Gen) | Supported as of Oct 26, 2020 | KFSUWI |
Android 5.1, API Level 22 | Fire OS 5 |
Fire HD 8 (2017, 7th Gen) | Supported as of Oct 26, 2020 | KFDOWI |
Android 5.1, API Level 22 | Fire OS 5 |
Fire 7 (2017, 7th Gen) | Supported as of Oct 26, 2020 | KFAUWI |
Android 5.1, API Level 22 | Fire OS 5 |
Fire HD 8 (2016, 6th Gen) | Supported as of Oct 26, 2020 | KFGIWI |
Android 5.1, API Level 22 | Fire OS 5 |
Fire HD 10 (2015, 5th Gen) | Supported as of Oct 26, 2020 | KFTBWI |
Android 5.1, API Level 22 | Fire OS 5 |
Fire HD 8 (2015, 5th Gen) | Supported as of Oct 26, 2020 | KFMEWI |
Android 5.1, API Level 22 | Fire OS 5 |
Fire (2015, 5th Gen) | Supported as of Oct 26, 2020 | KFFOWI |
Android 5.1, API Level 22 | Fire OS 5 |
Fire HDX 8.9 (2014, 4th Gen) | Supported as of Oct 26, 2020 | KFSAWA (WAN), KFSAWI (Wi-Fi) |
Android 5.1, API Level 22 | Fire OS 5 |
Fire HD 7 (2014, 4th Gen) | Supported as of Oct 26, 2020 | KFASWI |
Android 5.1, API Level 22 | Fire OS 5 |
Fire HD 6 (2014, 4th Gen) | Supported as of Oct 26, 2020 | KFARWI |
Android 5.1, API Level 22 | Fire OS 5 |
Kindle Fire HDX 7 (2013, 3rd Gen) | Unsupported | KFTHWA (WAN) KFTHWI (Wi-Fi) |
Android 4.4.2, API Level 19 | Fire OS 4 |
Kindle Fire HDX 8.9 (2013, 3rd Gen) | Unsupported | KFAPWA (WAN) KFAPWI (Wi-Fi) |
Android 4.4.2, API Level 19 | Fire OS 4 |
Kindle Fire HD 7 (2013, 3rd Gen) | Unsupported | KFSOWI |
Android 4.4.2, API Level 19 | Fire OS 4 |
Kindle Fire (2012, 2nd Gen) | Unsupported | KFOT |
Android 4.0.3, API Level 15 | Fire OS 3 |
Kindle Fire HD 7 (2012, 2nd Gen) | Unsupported | KFTT |
Android 4.0.3, API Level 15 | Fire OS 3 |
Kindle Fire HD 8.9 (2012, 2nd Gen) | Unsupported | KFJWA (WAN) KFJWI (Wi-Fi) |
Android 4.0.3, API Level 15 | Fire OS 3 |
Kindle Fire (2011, 1st Gen) | Unsupported | Kindle Fire |
Android 2.3.3, API Level 10 | Fire OS 2 |
The key takeaway is that starting October 26, all Fire tablets running Fire OS 5+ will support the Maps API v2.5. For more information on Fire tablet specifications, see these topics:
Minimum API Level
The minimum supported API level for Amazon Maps is Fire OS 5, or API level 21. Any Fire tablets with earlier API levels (e.g., less than Fire OS 5) can't support the Amazon Maps API. See the Deprecation Notice for Amazon Maps SDK v1.0 and v2.0 for more details.
In your project's build.gradle
file, set the minimum Android SDK version (android:minSdkVersion
) to 21
. You can also set the target SDK version (android:targetSdkVerion
) to 27
. See the following topics for details on working with these API levels:
- Fire OS 6 for Fire Tablets (Fire OS 6 is based on API level 25)
- Fire OS 7 for Fire Tablets (Fire OS 7 is based on API level 28)
These topics highlight potential changes you need to make in your app to uplevel to Android API level 25 and 28.
International Maps Support
The Amazon Maps API v2.5 is supported in countries or regions where Fire tablets are sold, except for China, Japan, and India. To make sure your app is not distributed in Japan, when you submit your app, on the Target Your App screen, configure the availability accordingly.
Even though the Amazon Maps API isn't available in some marketplaces/countries, mapping features will still work for those geographic areas.
Download the Amazon Maps SDK (v2.5)
You can download the Amazon Maps SDK (v2.5) here:
The SDK file contains an Android Archive file (AAR), Maven POM file, reference documentation, and sample app. You can also download this same file on the SDK Downloads page.
Technical Overview
To display an Amazon map in an Activity
, you use the MapFragment
class or the SupportMapFragment
class. Once a map displays, users can pan, zoom, rotate, and tilt it using touch gestures.
You can set several options for the map, such as map type, enable/disable gestures for manipulating the map (rotating, scrolling, and tilting), and control the display of UI elements (zoom buttons and compass button).
To manipulate the map, you retrieve an AmazonMap
object from the MapFragment
or SupportMapFragment
. The AmazonMap
class is the primary class for working with the map.
Use AmazonMapOptions
to set the initial map settings, either in the XML layout or in code.
Moving the Map Camera
The map camera determines the area of the world shown by the map.
- The camera target is the latitude and longitude position at the center of the map.
- The camera zoom level sets the scale of the displayed area. As the number becomes larger, the camera moves closer to the earth to show smaller areas in greater detail.
- The camera bearing sets the orientation of the map. Bearing is measured in degrees and works similar to compass bearings. For example, setting bearing to 0 orients the map with North at the top, while setting the bearing to 270 rotates the map to position due West at the top.
- The camera tilt is the angle of the camera in relation to the earth.
CameraPosition
attributes of the AmazonMap
contain information about the current camera position.
To move the camera to a new position, you must create a CameraUpdate
object that specifies the new location, zoom, bearing, and/or tilt and pass it to the AmazonMap.moveCamera()
method.
Displaying the User's Location
You can automatically add the user's current location and a "locate" button by turning on the my location layer with AmazonMap.setMyLocationEnabled()
.
Drawing Objects on the Map
Mapping apps commonly draw objects on the map, such as markers indicating points of interest or destinations, lines representing routes, and other shapes.
Markers
You can add markers to the map by defining the marker location and other properties in a MarkerOptions
object and then calling AmazonMap.addMarker()
. Markers can use custom icons and colors.
Lines and Shapes
You can add lines and shapes to the map. Similar to markers, you set the initial settings for the shape with an Options
object, then call an add
method to draw the shape. You can add:
- Lines, defined by a series of points (
Polyline
). - Circles, defined with a center and a radius (
Circle
). - Polygons, defined by a series of at least three points connected by lines (
Polygon
).
See the following for more information: