Adding style to Angular2 Google Maps Adding style to Angular2 Google Maps typescript typescript

Adding style to Angular2 Google Maps


The docs aren't very useful, so I had to dig into the code for the component.

<sebm-google-map [latitude]="lat" [longitude]="lng" [styles]="styles">  <sebm-google-map-marker [latitude]="lat" [longitude]="lng"></sebm-google-map-marker></sebm-google-map>

Just adding styles should work, where styles is of the type MapTypeStyle[] which is declared here.

Try defining styles as something like:

let styles = [{  "featureType": "water",  "stylers": [{      "color": "#ff0000"    }]}];

That should make your water red, but I haven't tested this myself yet, I'm just basing it off the code.


This is working for me. ☺ :-p

<sebm-google-map *ngIf="map" [latitude]="placeLat" [longitude]="placeLng" [scrollwheel]="false" [zoom]="zoom" [disableDefaultUI]="true" [styles]='[            {                elementType : "labels.icon",                stylers : [{                  visibility : "off"                }]            }]'>


My final working solution. But I still don´t understand where and how MapTypeStyle Interface is used.

html adding [styles]="customStyle"

<sebm-google-map [latitude]="lat" [longitude]="lng" [styles]="customStyle" >  <sebm-google-map-marker [latitude]="lat" [longitude]="lng" ></sebm-google-map-marker></sebm-google-map>

component (excerpt) adding public customStyle = [{ "JSON style declaration goes here" }]

export class GmapComponent implements OnInit {  public customStyle = [    {      "elementType": "geometry",      "stylers": [        {          "hue": "#ff4400"        },        {          "saturation": -100        },        {          "lightness": -4        },        {          "gamma": 0.72        }      ]    },    {      "featureType": "road",      "elementType": "labels.icon"    },    {      "featureType": "landscape.man_made",      "elementType": "geometry",      "stylers": [        {          "hue": "#0077ff"        },        {          "gamma": 3.1        }      ]    },    {      "featureType": "water",      "stylers": [        {          "hue": "#00ccff"        },        {          "gamma": 0.44        },        {          "saturation": -33        }      ]    },    {      "featureType": "poi.park",      "stylers": [        {          "hue": "#44ff00"        },        {          "saturation": -23        }      ]    },    {      "featureType": "water",      "elementType": "labels.text.fill",      "stylers": [        {          "hue": "#007fff"        },        {          "gamma": 0.77        },        {          "saturation": 65        },        {          "lightness": 99        }      ]    },    {      "featureType": "water",      "elementType": "labels.text.stroke",      "stylers": [        {          "gamma": 0.11        },        {          "weight": 5.6        },        {          "saturation": 99        },        {          "hue": "#0091ff"        },        {          "lightness": -86        }      ]    },    {      "featureType": "transit.line",      "elementType": "geometry",      "stylers": [        {          "lightness": -48        },        {          "hue": "#ff5e00"        },        {          "gamma": 1.2        },        {          "saturation": -23        }      ]    },    {      "featureType": "transit",      "elementType": "labels.text.stroke",      "stylers": [        {          "saturation": -64        },        {          "hue": "#ff9100"        },        {          "lightness": 16        },        {          "gamma": 0.47        },        {          "weight": 2.7        }      ]    }  ];  title: string = 'Current Location';  lat: number = 50.937531;  lng: number = 6.960278600000038;  constructor() {  }  ngOnInit() {  }}