Data-driven styling for boundaries lets you access Google's polygons for administrative boundaries, apply styling to boundary polygons, display them on your maps, and combine your own business data to create rich, customized choropleth maps.
Data-driven styling for boundaries lets you target regions by place ID, and apply custom styling to boundary polygons on the map. Each feature type represents a type of region; you select which feature types to enable when configuring a map style.
Data-driven styling provides access to Google boundaries for feature types that represent administrative areas. Administrative areas are categorized by function, for example country, state, locality, and postal code. Feature types are arranged by administrative level, the structure of which varies by country. The following feature types are supported:
COUNTRY — The national political entity, typically the highest order type.
ADMINISTRATIVE_AREA_LEVEL_1 — A first-order civil entity below the country level. Within the United States, these administrative levels are states.
ADMINISTRATIVE_AREA_LEVEL_2 — A second-order civil entity below the country level. Within the United States, these administrative levels are counties.
LOCALITY — An incorporated city or town political entity.
POSTAL_CODE — A postal code, as used to address postal mail within the country.
SCHOOL_DISTRICT — A school district; includes unified, elementary, and secondary.
Administrative areas are represented on the map as feature layers; each type has its own layer. Feature layers are enabled per map style. You can choose which feature layers to enable when setting up your map style in the Google Cloud console.
Style boundary polygons
You can apply styles to boundary polygons for fill (color, opacity), and stroke (color, opacity, stroke weight). Use styling to:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[[["\u003cp\u003eData-driven styling for boundaries allows you to style Google's administrative boundary polygons and combine them with your own data to create customized maps, such as choropleth maps.\u003c/p\u003e\n"],["\u003cp\u003eYou can target specific regions using place IDs and apply custom styling to boundary polygons based on feature types like country, state, locality, and postal code.\u003c/p\u003e\n"],["\u003cp\u003eBoundary coverage varies by country and feature type, allowing you to style polygons with fill and stroke properties for visualization.\u003c/p\u003e\n"],["\u003cp\u003eTo get started, configure your map style, obtain place IDs for regions, and explore advanced features like creating choropleth maps and handling mouse events.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the Google boundaries coverage documentation to understand the availability of feature types for different countries.\u003c/p\u003e\n"]]],[],null,["Select platform: [Android](/maps/documentation/android-sdk/dds-boundaries/overview \"View this page for the Android platform docs.\") [iOS](/maps/documentation/ios-sdk/dds-boundaries/overview \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/javascript/dds-boundaries/overview \"View this page for the JavaScript platform docs.\")\n\n\u003cbr /\u003e\n\nData-driven styling for boundaries lets you access Google's polygons for\nadministrative boundaries, apply styling to boundary polygons,\ndisplay them on your maps, and combine your own business data to create rich,\ncustomized choropleth maps.\n\nData-driven styling for boundaries lets you target regions by place ID, and apply\ncustom styling to boundary polygons on the map. Each feature type represents a\ntype of region; you select which feature types to enable when [configuring a map style](/maps/documentation/javascript/dds-boundaries/start).\n\nConsult [Google boundaries coverage](/maps/documentation/javascript/dds-boundaries/coverage)\nto see per-country boundary coverage.\n\nFeature types\n\nData-driven styling provides access to Google boundaries for feature types that\nrepresent administrative areas. Administrative areas are categorized by\nfunction, for example country, state, locality, and postal code. Feature types\nare arranged by administrative level, the structure of which varies by country.\nThe following feature types are supported:\n\n- `COUNTRY` --- The national political entity, typically the highest order type.\n- `ADMINISTRATIVE_AREA_LEVEL_1` --- A first-order civil entity below the country level. Within the United States, these administrative levels are states.\n- `ADMINISTRATIVE_AREA_LEVEL_2` --- A second-order civil entity below the country level. Within the United States, these administrative levels are counties.\n- `LOCALITY` --- An incorporated city or town political entity.\n- `POSTAL_CODE` --- A postal code, as used to address postal mail within the country.\n- `SCHOOL_DISTRICT` --- A school district; includes unified, elementary, and secondary.\n\nAdministrative areas are represented on the map as feature layers; each type\nhas its own layer. Feature layers are enabled per map style. You can choose\nwhich feature layers to enable when [setting up your map style in the Google Cloud console](/maps/documentation/javascript/dds-boundaries/start).\n\nStyle boundary polygons\n\nYou can apply styles to boundary polygons for fill (color, opacity), and stroke\n(color, opacity, stroke weight). Use styling to:\n\n- [Style a boundary polygon](/maps/documentation/javascript/dds-boundaries/style-polygon) or show all the boundaries for a feature type.\n- [Create a choropleth map](/maps/documentation/javascript/dds-boundaries/choropleth-map) by joining your own business data.\n\n[Google boundaries coverage](/maps/documentation/javascript/dds-boundaries/coverage)\nshows per-country availability of feature types.\n\nNext steps\n\n- [Get started with data-driven styling for boundaries](/maps/documentation/javascript/dds-boundaries/start)\n- [Get a place ID for a region](/maps/documentation/javascript/dds-boundaries/dds-use-maps-places-apis#use_to_find_a_region)\n- [Use the Geocoding and Places APIs with data-driven styling for boundaries](/maps/documentation/javascript/dds-boundaries/dds-use-maps-places-apis)\n- [Style a boundary polygon](/maps/documentation/javascript/dds-boundaries/style-polygon)\n- [Make a choropleth map](/maps/documentation/javascript/dds-boundaries/choropleth-map)\n- [Handle mouse events](/maps/documentation/javascript/dds-boundaries/handle-events)"]]