[{"data":1,"prerenderedAt":650},["ShallowReactive",2],{"navigation_docs":3,"-map-integration-custom-styles":155,"-map-integration-custom-styles-surround":645},[4,26,47,68,93,106,127],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","\u002Fgetting-started","1.getting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":14,"path":15,"stem":16},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F2.quick-start",{"title":18,"path":19,"stem":20},"Authentication","\u002Fgetting-started\u002Fauthentication","1.getting-started\u002F3.authentication",{"title":22,"path":23,"stem":24},"Rate Limits","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F4.rate-limits",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"API Reference","\u002Fapi-reference","2.api-reference",[31,35,39,43],{"title":32,"path":33,"stem":34},"Overview","\u002Fapi-reference\u002Foverview","2.api-reference\u002F1.overview",{"title":36,"path":37,"stem":38},"REST API","\u002Fapi-reference\u002Frest-api","2.api-reference\u002F2.rest-api",{"title":40,"path":41,"stem":42},"Error Codes","\u002Fapi-reference\u002Ferror-codes","2.api-reference\u002F3.error-codes",{"title":44,"path":45,"stem":46},"Pagination","\u002Fapi-reference\u002Fpagination","2.api-reference\u002F4.pagination",{"title":48,"path":49,"stem":50,"children":51,"page":25},"Map Integration","\u002Fmap-integration","3.map-integration",[52,56,60,64],{"title":53,"path":54,"stem":55},"Embed Maps","\u002Fmap-integration\u002Fembed-maps","3.map-integration\u002F1.embed-maps",{"title":57,"path":58,"stem":59},"Custom Styles","\u002Fmap-integration\u002Fcustom-styles","3.map-integration\u002F2.custom-styles",{"title":61,"path":62,"stem":63},"Tile Rendering","\u002Fmap-integration\u002Ftile-rendering","3.map-integration\u002F3.tile-rendering",{"title":65,"path":66,"stem":67},"Static Maps","\u002Fmap-integration\u002Fstatic-maps","3.map-integration\u002F4.static-maps",{"title":69,"path":70,"stem":71,"children":72,"page":25},"Geocoding","\u002Fgeocoding","4.geocoding",[73,77,81,85,89],{"title":74,"path":75,"stem":76},"Forward Geocoding (Search)","\u002Fgeocoding\u002Fforward-geocoding","4.geocoding\u002F1.forward-geocoding",{"title":78,"path":79,"stem":80},"Reverse Geocoding","\u002Fgeocoding\u002Freverse-geocoding","4.geocoding\u002F2.reverse-geocoding",{"title":82,"path":83,"stem":84},"Autocomplete","\u002Fgeocoding\u002Fautocomplete","4.geocoding\u002F3.autocomplete",{"title":86,"path":87,"stem":88},"Place Lookup","\u002Fgeocoding\u002Fplace-lookup","4.geocoding\u002F4.place-lookup",{"title":90,"path":91,"stem":92},"Nearby Search","\u002Fgeocoding\u002Fnearby","4.geocoding\u002F5.nearby",{"title":94,"path":95,"stem":96,"children":97,"page":25},"Routing","\u002Frouting","5.routing",[98,102],{"title":99,"path":100,"stem":101},"Directions","\u002Frouting\u002Fdirections","5.routing\u002F1.directions",{"title":103,"path":104,"stem":105},"Isochrones","\u002Frouting\u002Fisochrones","5.routing\u002F2.isochrones",{"title":107,"path":108,"stem":109,"children":110,"page":25},"Auth & Security","\u002Fauth-security","6.auth-security",[111,115,119,123],{"title":112,"path":113,"stem":114},"API Keys","\u002Fauth-security\u002Fapi-keys","6.auth-security\u002F1.api-keys",{"title":116,"path":117,"stem":118},"Scopes & Permissions","\u002Fauth-security\u002Fscopes-permissions","6.auth-security\u002F2.scopes-permissions",{"title":120,"path":121,"stem":122},"Rate Limiting","\u002Fauth-security\u002Frate-limiting","6.auth-security\u002F3.rate-limiting",{"title":124,"path":125,"stem":126},"Best Practices","\u002Fauth-security\u002Fbest-practices","6.auth-security\u002F4.best-practices",{"title":128,"path":129,"stem":130,"children":131,"page":25},"Mcp","\u002Fmcp","7.mcp",[132,135,139,143,147,151],{"title":32,"path":133,"stem":134},"\u002Fmcp\u002Foverview","7.mcp\u002F1.overview",{"title":136,"path":137,"stem":138},"Setup","\u002Fmcp\u002Fsetup","7.mcp\u002F2.setup",{"title":140,"path":141,"stem":142},"Available Tools","\u002Fmcp\u002Favailable-tools","7.mcp\u002F3.available-tools",{"title":144,"path":145,"stem":146},"GIS Integration","\u002Fmcp\u002Fgis-integration","7.mcp\u002F4.gis-integration",{"title":148,"path":149,"stem":150},"Examples","\u002Fmcp\u002Fexamples","7.mcp\u002F5.examples",{"title":152,"path":153,"stem":154},"Troubleshooting","\u002Fmcp\u002Ftroubleshooting","7.mcp\u002F6.troubleshooting",{"id":156,"title":57,"body":157,"description":638,"extension":639,"links":640,"meta":641,"navigation":642,"path":58,"seo":643,"stem":59,"__hash__":644},"docs\u002F3.map-integration\u002F2.custom-styles.md",{"type":158,"value":159,"toc":631},"minimark",[160,164,169,177,205,209,220,439,447,451,511,515,518,536,539,543,546,627],[161,162,163],"p",{},"maps.guru provides a visual style editor for creating custom map designs. You can also edit styles programmatically using the MapLibre style specification.",[165,166,168],"h2",{"id":167},"style-editor","Style Editor",[161,170,171,172,176],{},"Access the style editor from ",[173,174,175],"strong",{},"Dashboard → Maps → Styles",". The editor provides:",[178,179,180,187,193,199],"ul",{},[181,182,183,186],"li",{},[173,184,185],{},"Layer management"," — Toggle visibility, reorder, and configure layers",[181,188,189,192],{},[173,190,191],{},"Color theming"," — Customize colors for land, water, roads, and buildings",[181,194,195,198],{},[173,196,197],{},"3D terrain"," — Enable hillshading and 3D building extrusion",[181,200,201,204],{},[173,202,203],{},"Data overlays"," — Upload CSV\u002FGeoJSON datasets as custom layers",[165,206,208],{"id":207},"style-json-format","Style JSON Format",[161,210,211,212,219],{},"Maps.guru styles follow the ",[213,214,218],"a",{"href":215,"rel":216},"https:\u002F\u002Fmaplibre.org\u002Fmaplibre-style-spec\u002F",[217],"nofollow","MapLibre Style Specification",":",[221,222,227],"pre",{"className":223,"code":224,"language":225,"meta":226,"style":226},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"version\": 8,\n  \"name\": \"My Custom Style\",\n  \"sources\": {\n    \"openmaptiles\": {\n      \"type\": \"vector\",\n      \"url\": \"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Ftiles\u002Fplanet-vector.json?key=YOUR_KEY\"\n    }\n  },\n  \"sprite\": \"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fsprites\u002Fv2\u002Fbasic\",\n  \"glyphs\": \"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Ffonts\u002F{fontstack}\u002F{range}.pbf\",\n  \"layers\": [...]\n}\n","json","",[228,229,230,239,261,284,299,315,337,357,363,369,390,411,433],"code",{"__ignoreMap":226},[231,232,235],"span",{"class":233,"line":234},"line",1,[231,236,238],{"class":237},"sMK4o","{\n",[231,240,242,245,249,252,254,258],{"class":233,"line":241},2,[231,243,244],{"class":237},"  \"",[231,246,248],{"class":247},"spNyl","version",[231,250,251],{"class":237},"\"",[231,253,219],{"class":237},[231,255,257],{"class":256},"sbssI"," 8",[231,259,260],{"class":237},",\n",[231,262,264,266,269,271,273,276,280,282],{"class":233,"line":263},3,[231,265,244],{"class":237},[231,267,268],{"class":247},"name",[231,270,251],{"class":237},[231,272,219],{"class":237},[231,274,275],{"class":237}," \"",[231,277,279],{"class":278},"sfazB","My Custom Style",[231,281,251],{"class":237},[231,283,260],{"class":237},[231,285,287,289,292,294,296],{"class":233,"line":286},4,[231,288,244],{"class":237},[231,290,291],{"class":247},"sources",[231,293,251],{"class":237},[231,295,219],{"class":237},[231,297,298],{"class":237}," {\n",[231,300,302,305,309,311,313],{"class":233,"line":301},5,[231,303,304],{"class":237},"    \"",[231,306,308],{"class":307},"sBMFI","openmaptiles",[231,310,251],{"class":237},[231,312,219],{"class":237},[231,314,298],{"class":237},[231,316,318,321,324,326,328,330,333,335],{"class":233,"line":317},6,[231,319,320],{"class":237},"      \"",[231,322,323],{"class":256},"type",[231,325,251],{"class":237},[231,327,219],{"class":237},[231,329,275],{"class":237},[231,331,332],{"class":278},"vector",[231,334,251],{"class":237},[231,336,260],{"class":237},[231,338,340,342,345,347,349,351,354],{"class":233,"line":339},7,[231,341,320],{"class":237},[231,343,344],{"class":256},"url",[231,346,251],{"class":237},[231,348,219],{"class":237},[231,350,275],{"class":237},[231,352,353],{"class":278},"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Ftiles\u002Fplanet-vector.json?key=YOUR_KEY",[231,355,356],{"class":237},"\"\n",[231,358,360],{"class":233,"line":359},8,[231,361,362],{"class":237},"    }\n",[231,364,366],{"class":233,"line":365},9,[231,367,368],{"class":237},"  },\n",[231,370,372,374,377,379,381,383,386,388],{"class":233,"line":371},10,[231,373,244],{"class":237},[231,375,376],{"class":247},"sprite",[231,378,251],{"class":237},[231,380,219],{"class":237},[231,382,275],{"class":237},[231,384,385],{"class":278},"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fsprites\u002Fv2\u002Fbasic",[231,387,251],{"class":237},[231,389,260],{"class":237},[231,391,393,395,398,400,402,404,407,409],{"class":233,"line":392},11,[231,394,244],{"class":237},[231,396,397],{"class":247},"glyphs",[231,399,251],{"class":237},[231,401,219],{"class":237},[231,403,275],{"class":237},[231,405,406],{"class":278},"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Ffonts\u002F{fontstack}\u002F{range}.pbf",[231,408,251],{"class":237},[231,410,260],{"class":237},[231,412,414,416,419,421,423,426,430],{"class":233,"line":413},12,[231,415,244],{"class":237},[231,417,418],{"class":247},"layers",[231,420,251],{"class":237},[231,422,219],{"class":237},[231,424,425],{"class":237}," [",[231,427,429],{"class":428},"sTEyZ","...",[231,431,432],{"class":237},"]\n",[231,434,436],{"class":233,"line":435},13,[231,437,438],{"class":237},"}\n",[440,441,442,443,446],"note",{},"When you fetch a style via the API (e.g., ",[228,444,445],{},"\u002Fapi\u002Fv1\u002Fstyles\u002Fstandard\u002Flight\u002Fstyle.json?key=YOUR_KEY","), all tile, sprite, and glyph URLs are automatically configured with your API key. You don't need to construct these URLs manually.",[165,448,450],{"id":449},"available-presets","Available Presets",[452,453,454,467],"table",{},[455,456,457],"thead",{},[458,459,460,464],"tr",{},[461,462,463],"th",{},"Preset",[461,465,466],{},"Description",[468,469,470,479,487,495,503],"tbody",{},[458,471,472,476],{},[473,474,475],"td",{},"Basic",[473,477,478],{},"Clean, minimal style for general use",[458,480,481,484],{},[473,482,483],{},"Dark",[473,485,486],{},"Dark theme for data visualization overlays",[458,488,489,492],{},[473,490,491],{},"Satellite",[473,493,494],{},"Satellite imagery with optional labels",[458,496,497,500],{},[473,498,499],{},"Vintage",[473,501,502],{},"Warm, muted tones inspired by vintage cartography",[458,504,505,508],{},[473,506,507],{},"High Contrast",[473,509,510],{},"Accessibility-focused with strong contrast ratios",[165,512,514],{"id":513},"brand-style-generator","Brand Style Generator",[161,516,517],{},"Generate a map style that matches your brand identity:",[519,520,521,527,530,533],"ol",{},[181,522,523,524],{},"Go to ",[173,525,526],{},"Dashboard → Maps → Brand Style",[181,528,529],{},"Enter your website URL",[181,531,532],{},"The AI analyzes your site's colors and design",[181,534,535],{},"A custom map style is generated using your brand palette",[161,537,538],{},"The generator extracts 5 key colors (primary, secondary, accent, background, text) and applies them to map features while maintaining cartographic best practices.",[165,540,542],{"id":541},"using-custom-styles","Using Custom Styles",[161,544,545],{},"Once created, use your style via the API:",[221,547,551],{"className":548,"code":549,"language":550,"meta":226,"style":226},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const map = new maplibregl.Map({\n  container: 'map',\n  style: 'https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fstyles\u002Fyour-style-slug\u002Fstyle.json?key=YOUR_KEY'\n});\n","javascript",[228,552,553,582,601,616],{"__ignoreMap":226},[231,554,555,558,561,564,567,570,573,577,580],{"class":233,"line":234},[231,556,557],{"class":247},"const",[231,559,560],{"class":428}," map ",[231,562,563],{"class":237},"=",[231,565,566],{"class":237}," new",[231,568,569],{"class":428}," maplibregl",[231,571,572],{"class":237},".",[231,574,576],{"class":575},"s2Zo4","Map",[231,578,579],{"class":428},"(",[231,581,238],{"class":237},[231,583,584,588,590,593,596,599],{"class":233,"line":241},[231,585,587],{"class":586},"swJcz","  container",[231,589,219],{"class":237},[231,591,592],{"class":237}," '",[231,594,595],{"class":278},"map",[231,597,598],{"class":237},"'",[231,600,260],{"class":237},[231,602,603,606,608,610,613],{"class":233,"line":263},[231,604,605],{"class":586},"  style",[231,607,219],{"class":237},[231,609,592],{"class":237},[231,611,612],{"class":278},"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fstyles\u002Fyour-style-slug\u002Fstyle.json?key=YOUR_KEY",[231,614,615],{"class":237},"'\n",[231,617,618,621,624],{"class":233,"line":286},[231,619,620],{"class":237},"}",[231,622,623],{"class":428},")",[231,625,626],{"class":237},";\n",[628,629,630],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":226,"searchDepth":263,"depth":263,"links":632},[633,634,635,636,637],{"id":167,"depth":241,"text":168},{"id":207,"depth":241,"text":208},{"id":449,"depth":241,"text":450},{"id":513,"depth":241,"text":514},{"id":541,"depth":241,"text":542},"Create and customize map styles using the maps.guru style editor.","md",null,{},true,{"title":57,"description":638},"rGvXIbIJvsqb5qrG6eRezJjIEc-UJxLMTBbReqe5lk0",[646,648],{"title":53,"path":54,"stem":55,"description":647,"children":-1},"Embed interactive maps on your website using maps.guru.",{"title":61,"path":62,"stem":63,"description":649,"children":-1},"How vector tile rendering works in maps.guru.",1777621083759]