Je možné vložit prohlížeč webových map do vlastní webové aplikace a umožnit uživatelům vytvářet webové mapy?
Chtěl bych vytvořit něco podobného tomu, co lze dělat v několika aplikacích Story Maps (například Journal, Cascade a dalších), něco takového:

Jak vidíte, prohlížeč je vložený a tlačítko „Uložit“ je umístěné mimo něj (z nějakého důvodu se při vložení prohlížeče výchozí tlačítko Uložit nezobrazuje).
Stáhl jsem si tedy zdrojový kód storymap-journal a zkusil jsem totéž na localhostu. Zobrazila se mi tato zpráva:

To mě zarazilo. Proč se to děje? Má se tím předejít problémům se soubory cookie?
Když jsem se snažil pochopit, jak je implementováno tlačítko „Uložit“, otevřel jsem konzoli a po kliknutí na něj jsem si všiml ladicí zprávy. Pak jsem se podíval do zdrojového kódu a našel funkci volanou v souboru MapViewerWrapper.js:
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>send <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">function</SPAN><SPAN class="punctuation token">(</SPAN>json<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
console<SPAN class="punctuation token">.</SPAN><SPAN class="token function">log</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"MV sending"</SPAN><SPAN class="punctuation token">,</SPAN> json<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">try</SPAN> <SPAN class="punctuation token">{</SPAN>
params<SPAN class="punctuation token">.</SPAN>frameWindow<SPAN class="punctuation token">.</SPAN><SPAN class="token function">postMessage</SPAN><SPAN class="punctuation token">(</SPAN>JSON<SPAN class="punctuation token">.</SPAN><SPAN class="token function">stringify</SPAN><SPAN class="punctuation token">(</SPAN>json<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> MapViewerWrapperUtils<SPAN class="punctuation token">.</SPAN><SPAN class="token function">getPortalURL</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN> <SPAN class="keyword token">catch</SPAN> <SPAN class="punctuation token">(</SPAN> error <SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="comment token">// Zdá se, že se tato část nevolá, protože k chybě by došlo v rámci</SPAN>
params<SPAN class="punctuation token">.</SPAN><SPAN class="token function">onError</SPAN><SPAN class="punctuation token">(</SPAN>error <SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">;</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>Při ladění jsem zkontroloval objekt „json“ a obsahuje něco jako:
<SPAN class="punctuation token">{</SPAN>type<SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"hasUnsavedChanges"</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>A funkce „MapViewerWrapperUtils.getPortalURL()“ vrací:
<SPAN class="string token"><SPAN>"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fhhkaos.maps.arcgis.com" target="_blank">http://hhkaos.maps.arcgis.com</A><SPAN>"</SPAN></SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>
Nemyslím si, že jde o problém s voláním postMessage mezi různými doménami, že?
Chtěl bych se tedy zeptat, jestli se někdo z vás pokoušel udělat to, co chci, případně jestli víte, zda je to možné.
Předem děkuji,
Raul
P. S.: Zkoušel jsem to před dvěma lety, když bylo tlačítko „Uložit“ ještě uvnitř iframe, ale myslím, že bylo odstraněno při jedné z aktualizací ArcGIS Online.