<\/A>https:\/\/community.esri.com\/people\/EPolle_TensingInternational\/blog\/2020\/06\/14\/tutorial-arcgis-api-for-javascript-4x-table-of-contents<\/A><\/P>
rechter muisknop + slepen<\/CODE> met de muis<\/LI><LI>het indrukken van de <CODE>A<\/CODE> en <CODE>D<\/CODE> toetsen<\/LI><\/OL><P><\/P><P>Jij, als ontwikkelaar, kunt ook programmatische navigatie gebruiken door <A href="https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-MapView.html#rotation" rel="nofollow noopener noreferrer" target="_blank">MapView.rotation<\/A> aan te passen.<\/P><P><\/P><P>Om de gebruiker toe te staan de kompasoriëntatie terug te zetten naar 0 (d.w.z. met het noorden bovenaan de view) moet je een <A href="https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Compass.html" rel="nofollow noopener noreferrer" target="_blank">Compass<\/A> widget aan de view toevoegen. Deze widget geeft aan waar het noorden is ten opzichte van de huidige viewrotatie. Door op de widget te klikken roteert de view terug naar het noorden (heading = 0).<\/P><P><\/P><P>Je zou dus kunnen zeggen dat je deze Compass widget alleen nodig hebt wanneer de kaart niet naar het noorden is georiënteerd. Of andersom: meestal is de Compass widget niet nodig, omdat de kaart "correct" georiënteerd is.<\/P><P><\/P><P>In het onderstaande voorbeeld voegen we alleen de Compass toe wanneer de gebruiker de kaart roteert (per ongeluk of expres). En op het moment dat de kompasoriëntatie weer op 0 wordt gezet, verwijderen we hem weer.<\/P><P><\/P><P>Om de oriëntatie van de view te controleren gebruiken we <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 <\/> zoals dit:<\/>\n<PRE class=\"lia-code-sample line-numbers language-none\"><CODE>watchUtils.<SPAN class=\"token function\">whenTrue<\/>\(view, \"stationary\", function() {\n if (view.rotation == 0) {\n view.ui.remove(compassWidget);\n } else {\n view.ui.add(compassWidget, \"top-left\");\n }\n}\)<SPAN class=\"line-numbers-rows\"><SPAN><<EMOJI_0>><\/>\n<SPAN><<EMOJI_1>><\/>\n<SPAN><<EMOJI_2>><\/>\n<SPAN><<EMOJI_3>><\/>\n<SPAN><<EMOJI_4>><\/>\n<SPAN><<EMOJI_5>><\/>\n<SPAN><<EMOJI_6>><\/><\/><PRE> 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> map <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> view <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> map <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> view <span class="punctuation token">})</span><span class="punctuation token">;</span> <span class="comment token">// Watch view's stationary property for becoming true to check the rotation</span> <span class="comment token">// If the rotation equals 0 (i.e. map is oriented North) remove the compass widget,</span> <span class="comment token">// otherwise add this widget</span> watchUtils<span class="punctuation token">.</span><span class="token function">whenTrue</span><span class="punctuation token">(</span>view<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>view<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> view<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> { view<span class="/ui/span>.ui<span "/ui/span>.add<span "/ui/span>(compassWidget<span "/ui/span>, "top-left""/ui/span>)"/ui/span>; "/ui/span>} "/ui/span>} "/ui/span>)"/ui/span>; "/ui/span></script>
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.