<\/A>https:\/\/community.esri.com\/people\/EPolle_TensingInternational\/blog\/2020\/06\/14\/tutorial-arcgis-api-for-javascript-4x-table-of-contents<\/A><\/P>
pravé kliknutí + tažení<\/CODE> myší<\/LI><LI>stisknutím kláves <CODE>A<\/CODE> a <CODE>D<\/CODE><\/LI><\/OL><P><\/P><P>Vy jako vývojář můžete také použít programatickou navigaci úpravou <A href="https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-MapView.html#rotation" rel="nofollow noopener noreferrer" target="_blank">MapView.rotation<\/A><\/P><P><\/P><P>Pro umožnění uživateli resetovat orientaci kompasu na 0 (tj. se severem nahoře v pohledu) musíte do pohledu přidat <A href="https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Compass.html" rel="nofollow noopener noreferrer" target="_blank">Compass<\/A> widget. Tento widget ukazuje, kde je sever vzhledem k aktuální rotaci pohledu. Kliknutím na widget se pohled otočí zpět na sever (heading = 0).<\/P><P><\/P><P>Tedy, dá se říci, že tento Compass widget potřebujete pouze tehdy, když mapa není orientována na sever. Nebo jinak řečeno: většinu času Compass widget není potřeba, protože mapa je "správně" orientována.<\/P><P><\/P><P>V níže uvedeném příkladu přidáváme Compass pouze tehdy, když uživatel otočí mapu (ať už náhodou nebo záměrně). A ve chvíli, kdy je orientace kompasu resetována na 0, widget opět odstraníme.<\/P><P><\/P><P>K ověření orientace pohledu používáme <A class="link-titled" href="https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-core-watchUtils.html" title="https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference/esri-core-watchUtils.html" rel="nofollow noopener noreferrer" target="_blank">watchUtils <\/> <\/> takto:<\/> <PRE class="lia-code-sample line-numbers language-none"><CODE>watchUtils.<SPAN class="token function">whenTrue</SPAN>(view, "stationary", function() {\n if (view.rotation == 0) {\n view.ui.remove(compassWidget);\n } else {\n view.ui.add(compassWidget, "top-left");\n }\n})
<html>\n <head>\n <meta charset=\"utf-8\" \/>\n <meta name=\"viewport\" content=\"initial-scale=1,maximum-scale=1,user-scalable=no\" \/>\n <title>ArcGIS JavaScript Tutorial - Přidání Compass Widget pouze když je potřeba<\title>\n <link rel=\"stylesheet\" href=\"https:\/\/js.arcgis.com\/4.15/esri/themes/light/main.css\" \/>\n <script src=\"https:\/\/js.arcgis.com\/4.15/\"><\script>\n <style>\n html, body, #viewDiv {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n }\n </style>\n <script>\n require([\n \"esri/Map\",\n \"esri/views/MapView\",\n \"esri/widgets/Compass\",\n \"esri/core/watchUtils\"\n ], function(Map class="punctuation token">,</SPAN> MapView<SPAN class="punctuation token">,</SPAN> Compass<SPAN class="punctuation token">,</SPAN> watchUtils<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">var</SPAN> mapa <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">Map</SPAN><SPAN class="punctuation token">({</SPAN> basemap<SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"national-geographic"</SPAN> <SPAN class="punctuation token">})</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">var</SPAN> pohled <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">MapView</SPAN><SPAN class="punctuation token">({</SPAN> container<SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"viewDiv"</SPAN><SPAN class="punctuation token">,</SPAN> scale<SPAN class="punctuation token">:</SPAN> <SPAN class="number token">500000</SPAN><SPAN class="punctuation token">,</SPAN> center<SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">26.26</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">39.17</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> rotation<SPAN class="punctuation token">:</SPAN> <SPAN class="number token">45</SPAN><SPAN class="punctuation token">,</SPAN> map<SPAN class="punctuation token">:</SPAN> mapa <SPAN class="punctuation token">})</span><span class="punctuation token">;</span> <span class="keyword token">var</span> compassWidget <span class="operator token">=</span> <span class="keyword token">new</span> <span class="token class-name">Compass</span><span class="punctuation token">({</span> view<span class="punctuation token">:</span> pohled <span class="punctuation token">})</span><span class="punctuation token">;</span> <span class="comment token">// Sledujte vlastnost "stationary" pohledu, zda se stane pravdivou, abyste zkontrolovali rotaci</span> <span class="comment token">// Pokud je rotace rovna 0 (tj. mapa je orientována na sever), odeberte widget kompasu,</span> <span class="comment token">// jinak tento widget přidejte</span> watchUtils<span class="punctuation token">.</span><span class="token function">whenTrue</span><span class="punctuation token">(</span>pohled<span class="punctuation token">,</span> <span class="string token">"stationary"</span><span class="punctuation token">,</span> <span class="keyword token">function</span><span class="punctuation token">()</span> <span class="punctuation token">{</span> <span class="keyword token">if</span> <span class="punctuation token">(</span>pohled<span class="punctuation token">.</span>rotation <span class="operator token">==</span> <span class="number token">0</span><span class="punctuation token">)</span><span class="punctuation token">{</span> pohled<span class="punctuation token">.</span>ui<span class="punctuation token">.</span><span class="token function">remove</span><span class="punctuation token">(</span>compassWidget<span class="punctuation token"> )</span><span class="punctuation token"> ;</span> <span class="punctuation token"> }</span> <span class="keyword token"> else }</span> { pohled<span class=ui>.</pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan></pan>
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Nový zde? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.