googlemaps / googlemaps/google-maps-services-java
[Google Static Maps] Handle styled Maps with the "style" parameter
- Vorherrschende Sprache
- Java
- Sterne
- 1.8k
- Forks
- 973
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I use the Google Static Maps API and I would like to customize the presentation of the Map by applying my own styles.
I found this documentation: https://developers.google.com/maps/documentation/maps-static/styling
**Is your feature request related to a problem? Please describe.**
But I can't find a method in `StaticMapsRequest.java` to add styles.
As an alternative, I used `StaticMapsRequest.custom(...)` method.
```
req.custom("style", "feature:poi|visibility:off");
```
But I can't add multiple styles, because the `custom` method allows to add just one 'style' parameter.
I can't do the following:
```
StaticMapsRequest req = StaticMapsApi.newRequest(sc.context, new Size(WIDTH, HEIGHT));
req.center("Google Sydney");
req.zoom(16);
req.custom("style", "feature:poi|visibility:off");
req.custom("style", "feature:landscape|visibility:off");
ByteArrayInputStream bais = new ByteArrayInputStream(req.await().imageData);
BufferedImage img = ImageIO.read(bais);
```
**Describe the solution you'd like**
I would like to have a method to handle the 'style' parameter.
```
req.style(
new Style()
.feature(new StyleFeature().poi())
.element(new StyleElement().labels().icon())
.rules(new StyleRules().color(java.awt.Color.WHITE))
);
req.style(
new Style()
.feature(new StyleFeature().landscape().man_made())
.rules(new StyleRules().visbility().off())
);
```
**Describe alternatives you've considered**
The `custom` method allows to add a single string:
```
public A custom(String parameter, String value) {
return this.param(parameter, value);
}
```
An alternative would be to add a new `custom` method that allows a list of Strings:
```
public A custom(String parameter, List values) {
values.forEach(v -> this.paramAddToList(parameter, v));
return this.getInstance();
}
```
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.