Google Static Maps API
Fluent and clean Java interface for Google Static Maps API.
Why?
Because using Google Play Services to show a Google Map may be overkill, or simply because Google Play Services are not available (Amazon, I'm looking at you!).
How?
Most of the official API is available under a fluent java interface. You'll find below some example usage, for more details, see the official documentation or look at the demo source.
Basic usage
StaticMap map = new StaticMap().center("NYC").size(320, 240);
load(map.toURL());
// load into your image view
Map Type
new StaticMap().center("NYC").type(HYBRID).size(320, 240);
Markers
Custom colors
new StaticMap()
.size(320, 240)
.marker(Style.BLUE, new GeoPoint("Tour Eiffel"))
.marker(Style.RED, new GeoPoint("Cathédrale Notre Dame"))
.marker(Style.GREEN, new GeoPoint("Sacré-Coeur, 75018"))
.marker(Style.ORANGE, new GeoPoint("Musée du Louvre"))
.marker(Style.PURPLE, new GeoPoint("Arc de Triomphe"));
Custom icons
new StaticMap()
.size(320, 240)
.marker(Style.builder().icon(ICON_URL_GHOSTBUSTER).build(), new GeoPoint(40.7195532,-74.0067987))
.marker(Style.RED.toBuilder().label('A').build(), new GeoPoint(40.7529234,-73.9827515))
.marker(Style.GREEN.toBuilder().label('B').build(), new GeoPoint("Columbia University, NYC"));
Path
Line
new StaticMap()
.size(320, 240)
.path(Path.Style.builder().color(BLUE).build(),
new GeoPoint(40.737102,-73.990318),
new GeoPoint(40.749825,-73.987963),
new GeoPoint(40.752946,-73.987384),
new GeoPoint(40.755823,-73.986397));
new StaticMap()
.size(320, 240)
.path(Path.Style.builder().color(Color.TRANSPARENT).fill(0x66ff0000).build(),
new GeoPoint("Miami, Florida"),
new GeoPoint("San Juan, Puerto Rico"),
new GeoPoint("Bermuda Island"));
Install
This repository can be found on JitPack:
https://jitpack.io/#renaudcerrato/static-maps-api
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven {
url "https://jitpack.io"
}
}
}
Add the dependency:
dependencies {
compile 'com.github.renaudcerrato:static-maps-api:1.0.4'
}
Or you can simply download the jars: