[{"data":1,"prerenderedAt":1193},["ShallowReactive",2],{"page-\u002Fguides\u002Fembed-iframe":3},{"id":4,"title":5,"body":6,"description":1186,"extension":1187,"meta":1188,"navigation":104,"path":1189,"seo":1190,"stem":1191,"__hash__":1192},"content\u002F4.guides\u002F18.embed-iframe.md","Embeddable Maps",{"type":7,"value":8,"toc":1174},"minimark",[9,27,30,50,55,65,124,127,243,247,493,497,502,507,884,888,1078,1082,1100,1104,1110,1119,1123,1147,1151,1170],[10,11,12,13,17,18,22,23,26],"p",{},"tileserver-rs can serve a ",[14,15,16],"strong",{},"self-contained, interactive map page"," designed to be dropped into an ",[19,20,21],"code",{},"\u003Ciframe>",". It boots MapLibre GL JS from a pinned CDN, loads the requested style, and exposes a small bidirectional ",[19,24,25],{},"postMessage"," API so the parent page can drive the map (and listen to its events).",[10,28,29],{},"Use it for:",[31,32,33,37,40,47],"ul",{},[34,35,36],"li",{},"Blog posts and documentation embeds",[34,38,39],{},"Dashboards and reports",[34,41,42,43,46],{},"Story maps and \"scrollytelling\" previews (with ",[19,44,45],{},"interactive=false",")",[34,48,49],{},"Any third-party context where you want a live map without shipping your own MapLibre bundle",[51,52,54],"h2",{"id":53},"basic-usage","Basic Usage",[56,57,62],"pre",{"className":58,"code":60,"language":61},[59],"language-text","GET \u002Fembed\u002F{style}?center={lat},{lng}&zoom={zoom}\n","text",[19,63,60],{"__ignoreMap":64},"",[56,66,70],{"className":67,"code":68,"language":69,"meta":64,"style":64},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# San Francisco at zoom 10\ncurl \"http:\u002F\u002Flocalhost:8080\u002Fembed\u002Fprotomaps-light?center=37.8,-122.4&zoom=10\"\n\n# Fit a bounding box instead of a center\ncurl \"http:\u002F\u002Flocalhost:8080\u002Fembed\u002Fprotomaps-light?bounds=-122.5,37.7,-122.3,37.9\"\n","bash",[19,71,72,81,99,106,112],{"__ignoreMap":64},[73,74,77],"span",{"class":75,"line":76},"line",1,[73,78,80],{"class":79},"sHwdD","# San Francisco at zoom 10\n",[73,82,84,88,92,96],{"class":75,"line":83},2,[73,85,87],{"class":86},"sBMFI","curl",[73,89,91],{"class":90},"sMK4o"," \"",[73,93,95],{"class":94},"sfazB","http:\u002F\u002Flocalhost:8080\u002Fembed\u002Fprotomaps-light?center=37.8,-122.4&zoom=10",[73,97,98],{"class":90},"\"\n",[73,100,102],{"class":75,"line":101},3,[73,103,105],{"emptyLinePlaceholder":104},true,"\n",[73,107,109],{"class":75,"line":108},4,[73,110,111],{"class":79},"# Fit a bounding box instead of a center\n",[73,113,115,117,119,122],{"class":75,"line":114},5,[73,116,87],{"class":86},[73,118,91],{"class":90},[73,120,121],{"class":94},"http:\u002F\u002Flocalhost:8080\u002Fembed\u002Fprotomaps-light?bounds=-122.5,37.7,-122.3,37.9",[73,123,98],{"class":90},[10,125,126],{},"Drop it into a page:",[56,128,132],{"className":129,"code":130,"language":131,"meta":64,"style":64},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ciframe\n  src=\"http:\u002F\u002Flocalhost:8080\u002Fembed\u002Fprotomaps-light?center=37.8,-122.4&zoom=10\"\n  width=\"640\"\n  height=\"420\"\n  style=\"border:0\"\n  loading=\"lazy\"\n  title=\"Map\"\n>\u003C\u002Fiframe>\n","html",[19,133,134,143,159,173,187,201,216,231],{"__ignoreMap":64},[73,135,136,139],{"class":75,"line":76},[73,137,138],{"class":90},"\u003C",[73,140,142],{"class":141},"swJcz","iframe\n",[73,144,145,149,152,155,157],{"class":75,"line":83},[73,146,148],{"class":147},"spNyl","  src",[73,150,151],{"class":90},"=",[73,153,154],{"class":90},"\"",[73,156,95],{"class":94},[73,158,98],{"class":90},[73,160,161,164,166,168,171],{"class":75,"line":101},[73,162,163],{"class":147},"  width",[73,165,151],{"class":90},[73,167,154],{"class":90},[73,169,170],{"class":94},"640",[73,172,98],{"class":90},[73,174,175,178,180,182,185],{"class":75,"line":108},[73,176,177],{"class":147},"  height",[73,179,151],{"class":90},[73,181,154],{"class":90},[73,183,184],{"class":94},"420",[73,186,98],{"class":90},[73,188,189,192,194,196,199],{"class":75,"line":114},[73,190,191],{"class":147},"  style",[73,193,151],{"class":90},[73,195,154],{"class":90},[73,197,198],{"class":94},"border:0",[73,200,98],{"class":90},[73,202,204,207,209,211,214],{"class":75,"line":203},6,[73,205,206],{"class":147},"  loading",[73,208,151],{"class":90},[73,210,154],{"class":90},[73,212,213],{"class":94},"lazy",[73,215,98],{"class":90},[73,217,219,222,224,226,229],{"class":75,"line":218},7,[73,220,221],{"class":147},"  title",[73,223,151],{"class":90},[73,225,154],{"class":90},[73,227,228],{"class":94},"Map",[73,230,98],{"class":90},[73,232,234,237,240],{"class":75,"line":233},8,[73,235,236],{"class":90},">\u003C\u002F",[73,238,239],{"class":141},"iframe",[73,241,242],{"class":90},">\n",[51,244,246],{"id":245},"query-parameters","Query Parameters",[248,249,250,269],"table",{},[251,252,253],"thead",{},[254,255,256,260,263,266],"tr",{},[257,258,259],"th",{},"Parameter",[257,261,262],{},"Type",[257,264,265],{},"Default",[257,267,268],{},"Description",[270,271,272,304,325,345,364,383,404,430,448,468],"tbody",{},[254,273,274,280,283,286],{},[275,276,277],"td",{},[19,278,279],{},"center",[275,281,282],{},"string",[275,284,285],{},"—",[275,287,288,291,292,295,296,299,300,303],{},[19,289,290],{},"lat,lng"," (e.g. ",[19,293,294],{},"37.8,-122.4","). ",[19,297,298],{},"lat ∈ [-90, 90]",", ",[19,301,302],{},"lng ∈ [-180, 180]",".",[254,305,306,311,314,319],{},[275,307,308],{},[19,309,310],{},"zoom",[275,312,313],{},"number",[275,315,316],{},[19,317,318],{},"2",[275,320,321,322,303],{},"Clamped to ",[19,323,324],{},"0..=22",[254,326,327,332,334,339],{},[275,328,329],{},[19,330,331],{},"bearing",[275,333,313],{},[275,335,336],{},[19,337,338],{},"0",[275,340,341,342,303],{},"Camera rotation in degrees, clamped to ",[19,343,344],{},"-360..=360",[254,346,347,352,354,358],{},[275,348,349],{},[19,350,351],{},"pitch",[275,353,313],{},[275,355,356],{},[19,357,338],{},[275,359,360,361,303],{},"Camera tilt in degrees, clamped to ",[19,362,363],{},"0..=85",[254,365,366,371,373,375],{},[275,367,368],{},[19,369,370],{},"bounds",[275,372,282],{},[275,374,285],{},[275,376,377,380,381,303],{},[19,378,379],{},"minLng,minLat,maxLng,maxLat",". When present, overrides ",[19,382,279],{},[254,384,385,390,392,394],{},[275,386,387],{},[19,388,389],{},"markers",[275,391,282],{},[275,393,285],{},[275,395,396,397,400,401,303],{},"Pipe-separated ",[19,398,399],{},"lng,lat"," pairs, e.g. ",[19,402,403],{},"-122.4,37.8|0,0",[254,405,406,411,413,418],{},[275,407,408],{},[19,409,410],{},"controls",[275,412,282],{},[275,414,415],{},[19,416,417],{},"navigation",[275,419,420,421,299,423,299,426,429],{},"Comma-separated: ",[19,422,417],{},[19,424,425],{},"scale",[19,427,428],{},"fullscreen",". Unknown tokens dropped.",[254,431,432,437,440,445],{},[275,433,434],{},[19,435,436],{},"hash",[275,438,439],{},"boolean",[275,441,442],{},[19,443,444],{},"false",[275,446,447],{},"Sync map position to the URL hash.",[254,449,450,455,457,462],{},[275,451,452],{},[19,453,454],{},"interactive",[275,456,439],{},[275,458,459],{},[19,460,461],{},"true",[275,463,464,465,467],{},"When ",[19,466,444],{},", all pointer\u002Fkeyboard input is disabled (preview mode).",[254,469,470,475,477,480],{},[275,471,472],{},[19,473,474],{},"theme",[275,476,282],{},[275,478,479],{},"auto",[275,481,482,485,486,489,490,303],{},[19,483,484],{},"light"," or ",[19,487,488],{},"dark",". Absent → follows ",[19,491,492],{},"prefers-color-scheme",[51,494,496],{"id":495},"postmessage-api","postMessage API",[10,498,499,500,303],{},"The embed talks to its parent window via ",[19,501,25],{},[503,504,506],"h3",{"id":505},"parent-embed","Parent → embed",[56,508,512],{"className":509,"code":510,"language":511,"meta":64,"style":64},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const frame = document.querySelector('iframe').contentWindow;\n\nframe.postMessage({ type: 'flyTo', lng: -122.4, lat: 37.8, zoom: 12 }, '*');\nframe.postMessage({ type: 'fitBounds', bounds: [[-122.5, 37.7], [-122.3, 37.9]], padding: 32 }, '*');\nframe.postMessage({ type: 'setFilter', layerId: 'roads', filter: ['==', 'class', 'motorway'] }, '*');\nframe.postMessage({ type: 'setLayoutProperty', layerId: 'roads', property: 'visibility', value: 'none' }, '*');\n","js",[19,513,514,554,558,635,722,809],{"__ignoreMap":64},[73,515,516,519,523,525,528,530,534,537,540,542,544,546,548,551],{"class":75,"line":76},[73,517,518],{"class":147},"const",[73,520,522],{"class":521},"sTEyZ"," frame ",[73,524,151],{"class":90},[73,526,527],{"class":521}," document",[73,529,303],{"class":90},[73,531,533],{"class":532},"s2Zo4","querySelector",[73,535,536],{"class":521},"(",[73,538,539],{"class":90},"'",[73,541,239],{"class":94},[73,543,539],{"class":90},[73,545,46],{"class":521},[73,547,303],{"class":90},[73,549,550],{"class":521},"contentWindow",[73,552,553],{"class":90},";\n",[73,555,556],{"class":75,"line":83},[73,557,105],{"emptyLinePlaceholder":104},[73,559,560,563,565,567,569,572,575,578,581,584,586,589,592,594,597,601,603,606,608,611,613,616,618,621,624,626,629,631,633],{"class":75,"line":101},[73,561,562],{"class":521},"frame",[73,564,303],{"class":90},[73,566,25],{"class":532},[73,568,536],{"class":521},[73,570,571],{"class":90},"{",[73,573,574],{"class":141}," type",[73,576,577],{"class":90},":",[73,579,580],{"class":90}," '",[73,582,583],{"class":94},"flyTo",[73,585,539],{"class":90},[73,587,588],{"class":90},",",[73,590,591],{"class":141}," lng",[73,593,577],{"class":90},[73,595,596],{"class":90}," -",[73,598,600],{"class":599},"sbssI","122.4",[73,602,588],{"class":90},[73,604,605],{"class":141}," lat",[73,607,577],{"class":90},[73,609,610],{"class":599}," 37.8",[73,612,588],{"class":90},[73,614,615],{"class":141}," zoom",[73,617,577],{"class":90},[73,619,620],{"class":599}," 12",[73,622,623],{"class":90}," },",[73,625,580],{"class":90},[73,627,628],{"class":94},"*",[73,630,539],{"class":90},[73,632,46],{"class":521},[73,634,553],{"class":90},[73,636,637,639,641,643,645,647,649,651,653,656,658,660,663,665,668,671,674,676,679,682,684,687,689,692,694,697,700,702,705,707,710,712,714,716,718,720],{"class":75,"line":108},[73,638,562],{"class":521},[73,640,303],{"class":90},[73,642,25],{"class":532},[73,644,536],{"class":521},[73,646,571],{"class":90},[73,648,574],{"class":141},[73,650,577],{"class":90},[73,652,580],{"class":90},[73,654,655],{"class":94},"fitBounds",[73,657,539],{"class":90},[73,659,588],{"class":90},[73,661,662],{"class":141}," bounds",[73,664,577],{"class":90},[73,666,667],{"class":521}," [[",[73,669,670],{"class":90},"-",[73,672,673],{"class":599},"122.5",[73,675,588],{"class":90},[73,677,678],{"class":599}," 37.7",[73,680,681],{"class":521},"]",[73,683,588],{"class":90},[73,685,686],{"class":521}," [",[73,688,670],{"class":90},[73,690,691],{"class":599},"122.3",[73,693,588],{"class":90},[73,695,696],{"class":599}," 37.9",[73,698,699],{"class":521},"]]",[73,701,588],{"class":90},[73,703,704],{"class":141}," padding",[73,706,577],{"class":90},[73,708,709],{"class":599}," 32",[73,711,623],{"class":90},[73,713,580],{"class":90},[73,715,628],{"class":94},[73,717,539],{"class":90},[73,719,46],{"class":521},[73,721,553],{"class":90},[73,723,724,726,728,730,732,734,736,738,740,743,745,747,750,752,754,757,759,761,764,766,768,770,773,775,777,779,782,784,786,788,791,793,796,799,801,803,805,807],{"class":75,"line":114},[73,725,562],{"class":521},[73,727,303],{"class":90},[73,729,25],{"class":532},[73,731,536],{"class":521},[73,733,571],{"class":90},[73,735,574],{"class":141},[73,737,577],{"class":90},[73,739,580],{"class":90},[73,741,742],{"class":94},"setFilter",[73,744,539],{"class":90},[73,746,588],{"class":90},[73,748,749],{"class":141}," layerId",[73,751,577],{"class":90},[73,753,580],{"class":90},[73,755,756],{"class":94},"roads",[73,758,539],{"class":90},[73,760,588],{"class":90},[73,762,763],{"class":141}," filter",[73,765,577],{"class":90},[73,767,686],{"class":521},[73,769,539],{"class":90},[73,771,772],{"class":94},"==",[73,774,539],{"class":90},[73,776,588],{"class":90},[73,778,580],{"class":90},[73,780,781],{"class":94},"class",[73,783,539],{"class":90},[73,785,588],{"class":90},[73,787,580],{"class":90},[73,789,790],{"class":94},"motorway",[73,792,539],{"class":90},[73,794,795],{"class":521},"] ",[73,797,798],{"class":90},"},",[73,800,580],{"class":90},[73,802,628],{"class":94},[73,804,539],{"class":90},[73,806,46],{"class":521},[73,808,553],{"class":90},[73,810,811,813,815,817,819,821,823,825,827,830,832,834,836,838,840,842,844,846,849,851,853,856,858,860,863,865,867,870,872,874,876,878,880,882],{"class":75,"line":203},[73,812,562],{"class":521},[73,814,303],{"class":90},[73,816,25],{"class":532},[73,818,536],{"class":521},[73,820,571],{"class":90},[73,822,574],{"class":141},[73,824,577],{"class":90},[73,826,580],{"class":90},[73,828,829],{"class":94},"setLayoutProperty",[73,831,539],{"class":90},[73,833,588],{"class":90},[73,835,749],{"class":141},[73,837,577],{"class":90},[73,839,580],{"class":90},[73,841,756],{"class":94},[73,843,539],{"class":90},[73,845,588],{"class":90},[73,847,848],{"class":141}," property",[73,850,577],{"class":90},[73,852,580],{"class":90},[73,854,855],{"class":94},"visibility",[73,857,539],{"class":90},[73,859,588],{"class":90},[73,861,862],{"class":141}," value",[73,864,577],{"class":90},[73,866,580],{"class":90},[73,868,869],{"class":94},"none",[73,871,539],{"class":90},[73,873,623],{"class":90},[73,875,580],{"class":90},[73,877,628],{"class":94},[73,879,539],{"class":90},[73,881,46],{"class":521},[73,883,553],{"class":90},[503,885,887],{"id":886},"embed-parent","Embed → parent",[56,889,891],{"className":509,"code":890,"language":511,"meta":64,"style":64},"window.addEventListener('message', (ev) => {\n  const d = ev.data || {};\n  if (d.type === 'ready') {\n    \u002F\u002F Map finished loading. d.style is the style URL.\n  } else if (d.type === 'move') {\n    \u002F\u002F Throttled to ~200ms. d.lng, d.lat, d.zoom, d.bearing, d.pitch.\n  } else if (d.type === 'click') {\n    \u002F\u002F d.lng, d.lat, and d.features (array of clicked layer ids).\n  }\n});\n",[19,892,893,929,954,986,991,1023,1028,1057,1062,1068],{"__ignoreMap":64},[73,894,895,898,900,903,905,907,910,912,914,917,921,923,926],{"class":75,"line":76},[73,896,897],{"class":521},"window",[73,899,303],{"class":90},[73,901,902],{"class":532},"addEventListener",[73,904,536],{"class":521},[73,906,539],{"class":90},[73,908,909],{"class":94},"message",[73,911,539],{"class":90},[73,913,588],{"class":90},[73,915,916],{"class":90}," (",[73,918,920],{"class":919},"sHdIc","ev",[73,922,46],{"class":90},[73,924,925],{"class":147}," =>",[73,927,928],{"class":90}," {\n",[73,930,931,934,937,940,943,945,948,951],{"class":75,"line":83},[73,932,933],{"class":147},"  const",[73,935,936],{"class":521}," d",[73,938,939],{"class":90}," =",[73,941,942],{"class":521}," ev",[73,944,303],{"class":90},[73,946,947],{"class":521},"data",[73,949,950],{"class":90}," ||",[73,952,953],{"class":90}," {};\n",[73,955,956,960,962,965,967,970,973,975,978,980,983],{"class":75,"line":101},[73,957,959],{"class":958},"s7zQu","  if",[73,961,916],{"class":141},[73,963,964],{"class":521},"d",[73,966,303],{"class":90},[73,968,969],{"class":521},"type",[73,971,972],{"class":90}," ===",[73,974,580],{"class":90},[73,976,977],{"class":94},"ready",[73,979,539],{"class":90},[73,981,982],{"class":141},") ",[73,984,985],{"class":90},"{\n",[73,987,988],{"class":75,"line":108},[73,989,990],{"class":79},"    \u002F\u002F Map finished loading. d.style is the style URL.\n",[73,992,993,996,999,1002,1004,1006,1008,1010,1012,1014,1017,1019,1021],{"class":75,"line":114},[73,994,995],{"class":90},"  }",[73,997,998],{"class":958}," else",[73,1000,1001],{"class":958}," if",[73,1003,916],{"class":141},[73,1005,964],{"class":521},[73,1007,303],{"class":90},[73,1009,969],{"class":521},[73,1011,972],{"class":90},[73,1013,580],{"class":90},[73,1015,1016],{"class":94},"move",[73,1018,539],{"class":90},[73,1020,982],{"class":141},[73,1022,985],{"class":90},[73,1024,1025],{"class":75,"line":203},[73,1026,1027],{"class":79},"    \u002F\u002F Throttled to ~200ms. d.lng, d.lat, d.zoom, d.bearing, d.pitch.\n",[73,1029,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1051,1053,1055],{"class":75,"line":218},[73,1031,995],{"class":90},[73,1033,998],{"class":958},[73,1035,1001],{"class":958},[73,1037,916],{"class":141},[73,1039,964],{"class":521},[73,1041,303],{"class":90},[73,1043,969],{"class":521},[73,1045,972],{"class":90},[73,1047,580],{"class":90},[73,1049,1050],{"class":94},"click",[73,1052,539],{"class":90},[73,1054,982],{"class":141},[73,1056,985],{"class":90},[73,1058,1059],{"class":75,"line":233},[73,1060,1061],{"class":79},"    \u002F\u002F d.lng, d.lat, and d.features (array of clicked layer ids).\n",[73,1063,1065],{"class":75,"line":1064},9,[73,1066,1067],{"class":90},"  }\n",[73,1069,1071,1074,1076],{"class":75,"line":1070},10,[73,1072,1073],{"class":90},"}",[73,1075,46],{"class":521},[73,1077,553],{"class":90},[51,1079,1081],{"id":1080},"theme-handling","Theme Handling",[10,1083,1084,1085,485,1088,1091,1092,1095,1096,1099],{},"Pass ",[19,1086,1087],{},"?theme=light",[19,1089,1090],{},"?theme=dark"," to force a theme. When omitted, the page reads ",[19,1093,1094],{},"matchMedia(\"(prefers-color-scheme: dark)\")"," on the client and sets ",[19,1097,1098],{},"data-theme"," accordingly — no server round-trip and no reliance on client hints that not every browser sends.",[51,1101,1103],{"id":1102},"preview-non-interactive-mode","Preview (non-interactive) Mode",[56,1105,1108],{"className":1106,"code":1107,"language":61},[59],"GET \u002Fembed\u002F{style}?center=37.8,-122.4&zoom=10&interactive=false\n",[19,1109,1107],{"__ignoreMap":64},[10,1111,1112,1113,1115,1116,1118],{},"With ",[19,1114,45],{},", the map disables drag-pan, scroll-zoom, double-click zoom, keyboard, touch, box-zoom, and drag-rotate. The map object still exists, so the ",[19,1117,25],{}," API keeps working — ideal for parent-driven story maps.",[51,1120,1122],{"id":1121},"xss-safety","XSS Safety",[10,1124,1125,1126,1129,1130,1133,1134,1137,1138,1133,1140,1142,1143,1146],{},"Every query parameter is parsed into a typed value at the boundary: numbers are validated (",[19,1127,1128],{},"f64",", ranges enforced, ",[19,1131,1132],{},"NaN","\u002F",[19,1135,1136],{},"Infinity"," rejected), ",[19,1139,410],{},[19,1141,474],{}," are whitelisted enums, and markers are built from validated coordinate pairs. The style id and theme are additionally HTML-escaped before injection. As a result, ",[14,1144,1145],{},"no query parameter can inject markup"," — you can safely embed this endpoint in any context.",[51,1148,1150],{"id":1149},"notes","Notes",[31,1152,1153,1163],{},[34,1154,1155,1156,1159,1160,303],{},"This endpoint serves HTML only and is ",[14,1157,1158],{},"not"," gated by ",[19,1161,1162],{},"server.disable_render",[34,1164,1165,1166,1169],{},"MapLibre GL JS is loaded from a pinned CDN (",[19,1167,1168],{},"unpkg.com\u002Fmaplibre-gl@5.6.1","); no bundle ships in the server binary.",[1171,1172,1173],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":64,"searchDepth":83,"depth":83,"links":1175},[1176,1177,1178,1182,1183,1184,1185],{"id":53,"depth":83,"text":54},{"id":245,"depth":83,"text":246},{"id":495,"depth":83,"text":496,"children":1179},[1180,1181],{"id":505,"depth":101,"text":506},{"id":886,"depth":101,"text":887},{"id":1080,"depth":83,"text":1081},{"id":1102,"depth":83,"text":1103},{"id":1121,"depth":83,"text":1122},{"id":1149,"depth":83,"text":1150},"Embed interactive MapLibre maps in an iframe with a postMessage API","md",{},"\u002Fguides\u002Fembed-iframe",{"title":5,"description":1186},"4.guides\u002F18.embed-iframe","ZSYsCA3v78KyZ2PVZKWZgJhA5PWBrTGFS0cSZOFe8Xg",1794150613889]