I created a site that might be exactly what you are looking for:

http://snazzymaps.com

It's a repository for Google Maps color schemes with JSON code and downloadable examples. There are only a few styles up now that I've created myself but I just whipped up the site over the last week so it's still pretty new!

Answer from Adam Krogh on Stack Exchange
🌐
Google
developers.google.com › google maps platform › web › maps javascript api › use embedded json style declarations
Use embedded JSON style declarations | Maps JavaScript API | Google for Developers
Use the Maps Platform Styling Wizard to quickly generate JSON styling or apply styles by setting the map's `styles` property within the `MapOptions` object or the `Map.setOptions` method.\n"]]
🌐
Google
mapstyle.withgoogle.com
Styling Wizard: Google Maps APIs
To create a new map style, paste the JSON into the 'Import JSON' option.
Top answer
1 of 2
6

You are confusing the JSON to style a map which is what you get out of the Map Styling Wizard and the GeoJSON used by the data layer

They go in different places and do different things. To style the map, put the "style" data in the MapOptions styles property.

The data layer is used for displaying geographic information on the map (markers, polygons, polylines,...), not styling the map tiles.

Working code snippet with your map styles (if you want to load them from an external file, you can, but you wouldn't use the data layer, you would just assign the styling data to a global variable and use that for the styles property):

var map;

function initialize() {
  // Create a simple map.
  map = new google.maps.Map(document.getElementById('map-canvas'), {
    zoom: 16,
    center: {
      lat: 53.668398,
      lng: -2.167713
    },
    styles: [{
      "featureType": "landscape",
      "elementType": "geometry.fill",
      "stylers": [{
        "color": "#ffffff"
      }]
    }, {
      "featureType": "poi",
      "elementType": "geometry",
      "stylers": [{
        "color": "#efefef"
      }]
    }, {
      "featureType": "water",
      "stylers": [{
        "visibility": "off"
      }]
    }, {
      "featureType": "road",
      "elementType": "geometry.stroke",
      "stylers": [{
        "visibility": "on"
      }, {
        "color": "#dedddd"
      }]
    }, {
      "featureType": "road",
      "elementType": "geometry.fill",
      "stylers": [{
        "visibility": "on"
      }, {
        "color": "#efefef"
      }]
    }, {
      "featureType": "poi",
      "elementType": "labels.icon",
      "stylers": [{
        "visibility": "on"
      }]
    }]
  });

  // Load a GeoJSON from the same server as our demo.
  //map.data.loadGeoJson('http://pixelsandcode.local:5757/map.json');
}
google.maps.event.addDomListener(window, 'load', initialize);
html,
body,
#map-canvas {
  height: 100%;
  width: 100%;
}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<div id="map-canvas"></div>
2 of 2
0

you need to something like this:

map = new google.maps.Map(document.getElementById('map-canvas'), {
zoom: 16,
center: {lat: 53.668398, lng: -2.167713},
styles: [
        {
        "featureType": "landscape",
        "elementType": "geometry.fill",
        "stylers": [
            { "color": "#ffffff" }
          ]
          },{
              "featureType": "poi",
              "elementType": "geometry",
              "stylers": [
                  { "color": "#efefef" }
              ]
          },{
              "featureType": "water",
              "stylers": [
                  { "visibility": "off" }
              ]
          },{
              "featureType": "road",
              "elementType": "geometry.stroke",
              "stylers": [
                  { "visibility": "on" },
                  { "color": "#dedddd" }
              ]
          },{
              "featureType": "road",
              "elementType": "geometry.fill",
              "stylers": [
                  { "visibility": "on" },
                  { "color": "#efefef" }
              ]
          },{
              "featureType": "poi",
              "elementType": "labels.icon",
              "stylers": [
                  { "visibility": "on" }
              ]
          }


        ]
})
🌐
Google
developers.google.com › google maps platform › web › maps javascript api › create and use map styles
Create and use map styles | Maps JavaScript API | Google for Developers
Create a new style using the default Google map style. Copy and modify an existing customized style. Import a JSON map style to use as a customized style.
🌐
Google
developers.google.com › google maps platform › web › maps javascript api › use json with cloud-based maps styling
Use JSON with cloud-based maps styling | Maps JavaScript API | Google for Developers
In Map styles, select an existing style from the style list. In the style's main page, select Customize. Select the JSON tab to open the JSON style editor. Select Export. ... Except as otherwise noted, the content of this page is licensed under ...
🌐
Google Maps Platform
mapsplatform.google.com › resources › blog › custom-map-styling-with-google-maps
Blog: Custom map styling with the Google Maps APIs on Android and iOS – Google Maps Platform
The Google Maps APIs now support you in creating beautiful styled maps for your Android and iOS apps as well as your website using the same JSON style object.
Find elsewhere
🌐
Google
developers.google.com › google maps platform › web › maps javascript api › style reference for maps javascript api
Style Reference for Maps JavaScript API | Google for Developers
A JSON style declaration consists of the following elements: featureType (optional) - the features to select for this style modification. Features are geographic characteristics on the map, including roads, parks, bodies of water, and more.
🌐
EasyMapMaker
easymapmaker.com › features › map-style
Create a map with a custom map style
Go to Google's Map Style wizard and create the style you want · Copy the JSON from the above step and paste it into the " Map Style (JSON text) " area · Save your style and it should be good if it passes validation. Create a Map · Features · FAQ · Blog · Contact Us ·
🌐
YouTube
youtube.com › wp event manager ⦿ wordpress
How Map Style JSON Settings Work with Google Map Addon - YouTube
It's fairly easy to style your google maps in a website using JSON, our WP Event Manager's Google Maps Add-on allows our users to use JSON to style their goo...
Published   February 17, 2021
Views   2K
🌐
GitHub
github.com › zarif-ahmed › GoogleMapStyling
GitHub - zarif-ahmed/GoogleMapStyling: Shows how to add a style json file to Google Maps View
You can hide/unhide the components that are not required from the map like "roads, tunnel's, parks etc" and also customize the appearance of the components. Once you are Done with the customization, Just click on FINISH on the interface and it will present you the json for the styling which you have just completed. Copy this json and paste it in a file say "style.json" inside your project directory.
Author   zarif-ahmed
🌐
Justinobeirne
justinobeirne.com › styled-maps-using-google-maps-api-3
Styled Maps with Google Maps API 3
If you’re overlaying data onto Google Maps, you can now remove parts of the map unrelated to your dataset. Here’s a few examples... Example 1: Removing Country & State/Province Labels · Suggested uses: flight planning, weather radar, election maps, etc. Examples: View fullsize · View fullsize · View fullsize · JSON code snippet for this style: [ { featureType: "administrative.country", elementType: "labels", stylers: [ { visibility: "off" } ] },{ featureType: "administrative.province", elementType: "labels", stylers: [ { visibility: "off" } ] },{ featureType: "water", elementType: "lab
🌐
GitHub
github.com › ankurk91 › wp-google-map › blob › master › styles.json
wp-google-map/styles.json at master · ankurk91/wp-google-map
Google Map Plugin for WordPress. Contribute to ankurk91/wp-google-map development by creating an account on GitHub.
Author   ankurk91
Top answer
1 of 2
5

Thanks for the idea Paul LeBeau! I can suggest an improvement to your process, using the browser dev tools console to help with parsing. I've copied your first 8 steps for ease of the next person. This process seemed to work for me (was able to import the style to another project, and it seems to have the desired styling). Note I am also using Chrome (other browser's dev tools may be different).

  • Go to the Google Maps dashboard map style editor

  • Choose one of their example styles, or import your current map style JSON.dev

  • Make any changes you need.

  • Open the browser dev tools for that window (cmd-shift-J on Chrome on Mac)

  • Switch to the Network tab, and select "Fetch/XHR" (for Chrome - other browsers are similar)

  • You might find the next step easier if you clear the tab (with the button)

  • Click "Save"/"Save and publish" on the map style editor page.

  • Look for a POST request in the dev tools network tab to this URL: https://cloudconsole-pa.clients6.google.com/v3/entityServices/MapsMapsstylingEntityService/schemas/MAPS_MAPSSTYLING_ENTITY_SERVICE_GQL_TRANSPORT

  • NOTE from here onward this is where my process differs from Paul LeBeau

  • Click the Payload tab

  • Expand "Request Payload" one level (if not already expanded)

  • Right-click on the JSON content (starts with "{requestContext:")

  • Choose "Copy value"

  • In the Console window of dev tools, begin an assignment statement (but do NOT yet hit return):

    • origRequest =
  • Paste the value you copied directly on to that assignment statement

  • Add a semi-colon ; and hit return. Now the request payload is in a valid JavaScript variable that you can utilize like any other.

  • To get the "rules" field (as described by @paul-lebeau), without the need to manipulate any escaped quotes, enter this command in the console window:

  • copy(JSON.stringify(JSON.parse(origRequest.variables.clientStyle.draftJsonEncodedStyleSheet).rules,0,2))

    • or publishedJsonEncodedStyleSheet if you clicked publish above

The rules JSON is now in your paste buffer. You can paste it into the editor of your choice if you want to adjust it further, or you can paste it directly into the "Import JSON" text area of the Google Maps Style editor (which in my case worked without need of any adjustment).

Also note that adjustments can be made in that console window too, if you prefer to work with the parsed JSON object. To do that, create the origRequest object as described above, then:

  • rules = JSON.parse(origRequest.variables.clientStyle.draftJsonEncodedStyleSheet).rules;
  • Manipulate the "rules" javascript object as desired, then:
  • copy(JSON.stringify(rules,0,2))
2 of 2
4

I have found a workaround to get the JSON from the style editor.

  • Go to the Google Maps dashboard map style editor

  • Choose one of their eaxmple styles, or import your current map style JSON.dev

  • Make any changes you need.

  • Open the browser dev tools for that window (F12)

  • Switch to the Network tab, and select "Fetch/XHR" (for Chrome - other browsers are similar)

  • You might find the next step easier if you clear the tab (with the button)

  • Click "Save"/"Save and publish" on the map style editor page.

  • Look for a POST request in the dev tools network tab to a URL like this: https://cloudconsole-pa.clients6.google.com/v3/entityServices/MapsMapsstylingEntityService/schemas/MAPS_MAPSSTYLING_ENTITY_SERVICE_GQL_TRANSPORT, and click on it.

  • Copy the request payload from the Response tab, and paste it into a text editor.

  • In this JSON, look for the "rules" property and copy its value out.

This is the map style JSON that you need to style your map.

I had to do a little cleanup. For example I had to find and replace the escaped quote characters (ie. \" to ").

Plus the map style rules didn't look exactly the same in my app as they did in the editor. I'm not sure why. Perhaps the editor has some default rules that are not in the submitted JSON. So you might need to do a little bit of style tweaking.

However, in my case, I just needed a couple of rules from this JSON to finish the styling of my map. There were a couple of features I couldn't seem to get working properly. And being able to copy the relevant rules from the editor JSON solved my problem.

🌐
Paid Memberships Pro
paidmembershipspro.com › home › all posts › style your membership map using google maps json styling
Style Your Membership Map Using Google Maps JSON Styling
September 19, 2025 - ... The pmpromd_map_styles filter overrides the default map styling of the Membership Maps. By hooking into this filter, a JSON style array changes how your Google Map is displayed.
🌐
Snazzy Maps
snazzymaps.com › help
Help - Snazzy Maps - Free Styles for Google Maps
Using these styles in your website is as easy as copying the JSON on any style page and passing this to the map options of any Google Maps object.
🌐
Atlist
stylist.atlist.com
Stylist: A Simple Google Maps Style Editor
A tool for creating custom Google Maps JSON styles. Try Atlist, a free map maker.