[{"data":1,"prerenderedAt":601},["ShallowReactive",2],{"navigation_docs":3,"-map-integration-tile-rendering":155,"-map-integration-tile-rendering-surround":596},[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":61,"body":157,"description":589,"extension":590,"links":591,"meta":592,"navigation":593,"path":62,"seo":594,"stem":63,"__hash__":595},"docs\u002F3.map-integration\u002F3.tile-rendering.md",{"type":158,"value":159,"toc":582},"minimark",[160,164,169,172,269,276,339,343,371,375,381,486,490,493,542,545,568,572,575,578],[161,162,163],"p",{},"maps.guru serves vector tiles in the Mapbox Vector Tile (MVT) format using PMTiles archives stored on Cloudflare R2.",[165,166,168],"h2",{"id":167},"how-tile-loading-works","How Tile Loading Works",[161,170,171],{},"When you use a maps.guru style URL, vector tiles are loaded automatically. The style JSON returned by the API contains all the necessary tile, sprite, and glyph URLs — already configured with your API key.",[173,174,179],"pre",{"className":175,"code":176,"language":177,"meta":178,"style":178},"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\u002Fstandard\u002Flight\u002Fstyle.json?key=YOUR_KEY'\n});\n","javascript","",[180,181,182,218,241,257],"code",{"__ignoreMap":178},[183,184,187,191,195,199,202,205,208,212,215],"span",{"class":185,"line":186},"line",1,[183,188,190],{"class":189},"spNyl","const",[183,192,194],{"class":193},"sTEyZ"," map ",[183,196,198],{"class":197},"sMK4o","=",[183,200,201],{"class":197}," new",[183,203,204],{"class":193}," maplibregl",[183,206,207],{"class":197},".",[183,209,211],{"class":210},"s2Zo4","Map",[183,213,214],{"class":193},"(",[183,216,217],{"class":197},"{\n",[183,219,221,225,228,231,235,238],{"class":185,"line":220},2,[183,222,224],{"class":223},"swJcz","  container",[183,226,227],{"class":197},":",[183,229,230],{"class":197}," '",[183,232,234],{"class":233},"sfazB","map",[183,236,237],{"class":197},"'",[183,239,240],{"class":197},",\n",[183,242,244,247,249,251,254],{"class":185,"line":243},3,[183,245,246],{"class":223},"  style",[183,248,227],{"class":197},[183,250,230],{"class":197},[183,252,253],{"class":233},"https:\u002F\u002Fmaps.guru\u002Fapi\u002Fv1\u002Fstyles\u002Fstandard\u002Flight\u002Fstyle.json?key=YOUR_KEY",[183,255,256],{"class":197},"'\n",[183,258,260,263,266],{"class":185,"line":259},4,[183,261,262],{"class":197},"}",[183,264,265],{"class":193},")",[183,267,268],{"class":197},";\n",[161,270,271,272,275],{},"The tile URL format used internally follows the standard ",[180,273,274],{},"{z}\u002F{x}\u002F{y}"," pattern:",[277,278,279,292],"table",{},[280,281,282],"thead",{},[283,284,285,289],"tr",{},[286,287,288],"th",{},"Parameter",[286,290,291],{},"Description",[293,294,295,309,319,329],"tbody",{},[283,296,297,303],{},[298,299,300],"td",{},[180,301,302],{},"source",[298,304,305,306,265],{},"Tile source name (e.g., ",[180,307,308],{},"planet-vector",[283,310,311,316],{},[298,312,313],{},[180,314,315],{},"z",[298,317,318],{},"Zoom level (0-15)",[283,320,321,326],{},[298,322,323],{},[180,324,325],{},"x",[298,327,328],{},"Tile column",[283,330,331,336],{},[298,332,333],{},[180,334,335],{},"y",[298,337,338],{},"Tile row",[165,340,342],{"id":341},"available-sources","Available Sources",[277,344,345,357],{},[280,346,347],{},[283,348,349,352,354],{},[286,350,351],{},"Source",[286,353,291],{},[286,355,356],{},"Max Zoom",[293,358,359],{},[283,360,361,365,368],{},[298,362,363],{},[180,364,308],{},[298,366,367],{},"Full planet vector tiles with OpenMapTiles schema",[298,369,370],{},"15",[165,372,374],{"id":373},"vector-tile-layers","Vector Tile Layers",[161,376,377,378,380],{},"The ",[180,379,308],{}," source includes these layers:",[277,382,383,395],{},[280,384,385],{},[283,386,387,390,392],{},[286,388,389],{},"Layer",[286,391,291],{},[286,393,394],{},"Min Zoom",[293,396,397,410,422,434,447,460,473],{},[283,398,399,404,407],{},[298,400,401],{},[180,402,403],{},"water",[298,405,406],{},"Oceans, lakes, rivers",[298,408,409],{},"0",[283,411,412,417,420],{},[298,413,414],{},[180,415,416],{},"landcover",[298,418,419],{},"Forests, parks, farmland",[298,421,409],{},[283,423,424,429,432],{},[298,425,426],{},[180,427,428],{},"boundary",[298,430,431],{},"Country, state, admin boundaries",[298,433,409],{},[283,435,436,441,444],{},[298,437,438],{},[180,439,440],{},"transportation",[298,442,443],{},"Roads, railways, paths",[298,445,446],{},"4",[283,448,449,454,457],{},[298,450,451],{},[180,452,453],{},"building",[298,455,456],{},"Building footprints",[298,458,459],{},"13",[283,461,462,467,470],{},[298,463,464],{},[180,465,466],{},"place",[298,468,469],{},"City, town, village labels",[298,471,472],{},"2",[283,474,475,480,483],{},[298,476,477],{},[180,478,479],{},"poi",[298,481,482],{},"Points of interest",[298,484,485],{},"12",[165,487,489],{"id":488},"caching","Caching",[161,491,492],{},"Tiles are cached at multiple levels for optimal performance:",[277,494,495,507],{},[280,496,497],{},[283,498,499,501,504],{},[286,500,389],{},[286,502,503],{},"TTL",[286,505,506],{},"Effect",[293,508,509,520,531],{},[283,510,511,514,517],{},[298,512,513],{},"CDN (Cloudflare)",[298,515,516],{},"1 week",[298,518,519],{},"Tiles served from nearest edge",[283,521,522,525,528],{},[298,523,524],{},"PMTiles header",[298,526,527],{},"1 hour",[298,529,530],{},"Avoids re-reading tile index",[283,532,533,536,539],{},[298,534,535],{},"In-memory",[298,537,538],{},"Per instance",[298,540,541],{},"Faster directory lookups",[161,543,544],{},"Typical latency:",[546,547,548,556,562],"ul",{},[549,550,551,555],"li",{},[552,553,554],"strong",{},"CDN hit",": ~70ms",[549,557,558,561],{},[552,559,560],{},"CDN miss",": ~200ms (fetches from R2)",[549,563,564,567],{},[552,565,566],{},"Cold start",": ~300-400ms",[165,569,571],{"id":570},"fonts-and-sprites","Fonts and Sprites",[161,573,574],{},"Font glyphs and sprite sheets are static assets served publicly — no API key is required. They are included in the style JSON automatically when you use a style URL.",[161,576,577],{},"These assets have a 1-year immutable cache and are not counted toward your usage quota.",[579,580,581],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}",{"title":178,"searchDepth":243,"depth":243,"links":583},[584,585,586,587,588],{"id":167,"depth":220,"text":168},{"id":341,"depth":220,"text":342},{"id":373,"depth":220,"text":374},{"id":488,"depth":220,"text":489},{"id":570,"depth":220,"text":571},"How vector tile rendering works in maps.guru.","md",null,{},true,{"title":61,"description":589},"M09OD6lBLVnwKRNyTRw283okbEXPxDr1WkPEh8Fq2Hk",[597,599],{"title":57,"path":58,"stem":59,"description":598,"children":-1},"Create and customize map styles using the maps.guru style editor.",{"title":65,"path":66,"stem":67,"description":600,"children":-1},"Generate static map images for emails, reports, and social sharing.",1777621083852]