I'm developing a Xamarin.Forms app with ArcGIS Runtime SDK for .NET. I don't want write code at the Code-Behind of my MapPage.xaml Form, then I wrote a Behavior to capture de ViewpointChanged event and then store the value to a property in the ViewModel class.
<SPAN class="keyword token">using</SPAN> Esri<SPAN class="punctuation token">.</SPAN>ArcGISRuntime<SPAN class="punctuation token">.</SPAN>Xamarin<SPAN class="punctuation token">.</SPAN>Forms<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> System<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> System<SPAN class="punctuation token">.</SPAN>Windows<SPAN class="punctuation token">.</SPAN>Input<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> Xamarin<SPAN class="punctuation token">.</SPAN>Forms<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">namespace</SPAN> TrabajarMapasPortal<SPAN class="punctuation token">.</SPAN>Behaviors
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">class</SPAN> <SPAN class="token class-name">MapViewViewpointChangedBehavior</SPAN> <SPAN class="punctuation token">:</SPAN> BehaviorBase<SPAN class="operator token"><</SPAN>MapView<SPAN class="operator token">></SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">static</SPAN> <SPAN class="keyword token">readonly</SPAN> BindableProperty CommandProperty <SPAN class="operator token">=</SPAN> BindableProperty<SPAN class="punctuation token">.</SPAN><SPAN class="token function">Create</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Command"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="keyword token">typeof</SPAN><SPAN class="punctuation token">(</SPAN>ICommand<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="keyword token">typeof</SPAN><SPAN class="punctuation token">(</SPAN>MapViewViewpointChangedBehavior<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> ICommand Command
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">get</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">return</SPAN> <SPAN class="punctuation token">(</SPAN>ICommand<SPAN class="punctuation token">)</SPAN><SPAN class="token function">GetValue</SPAN><SPAN class="punctuation token">(</SPAN>CommandProperty<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">set</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="token function">SetValue</SPAN><SPAN class="punctuation token">(</SPAN>CommandProperty<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">value</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">protected</SPAN> <SPAN class="keyword token">override</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">OnAttachedTo</SPAN><SPAN class="punctuation token">(</SPAN>MapView bindable<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">base</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">OnAttachedTo</SPAN><SPAN class="punctuation token">(</SPAN>bindable<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
bindable<SPAN class="punctuation token">.</SPAN>ViewpointChanged <SPAN class="operator token">+</SPAN><SPAN class="operator token">=</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>MapViewViewpointChanged<SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="comment token">/// <param name="bindable"></param></SPAN>
<SPAN class="keyword token">protected</SPAN> <SPAN class="keyword token">override</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">OnDetachingFrom</SPAN><SPAN class="punctuation token">(</SPAN>MapView bindable<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">base</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">OnDetachingFrom</SPAN><SPAN class="punctuation token">(</SPAN>bindable<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
bindable<SPAN class="punctuation token">.</SPAN>ViewpointChanged <SPAN class="operator token">-</SPAN><SPAN class="operator token">=</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>MapViewViewpointChanged<SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="comment token">/// <param name="sender"></param></SPAN>
<SPAN class="comment token">/// <param name="e"></param></SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">MapViewViewpointChanged</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">object</SPAN> sender<SPAN class="punctuation token">,</SPAN> EventArgs e<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Command <SPAN class="operator token">!=</SPAN> <SPAN class="keyword token">null</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
MapView mapView <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">(</SPAN>MapView<SPAN class="punctuation token">)</SPAN>sender<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">if</SPAN><SPAN class="punctuation token">(</SPAN>mapView <SPAN class="operator token">!=</SPAN> <SPAN class="keyword token">null</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">var</SPAN> viewpoint<SPAN class="operator token">=</SPAN> mapView<SPAN class="punctuation token">.</SPAN><SPAN class="token function">GetCurrentViewpoint</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="punctuation token">.</SPAN>ArcGISRuntime<SPAN class="punctuation token">.</SPAN>Mapping<SPAN class="punctuation token">.</SPAN>ViewpointType<SPAN class="punctuation token">.</SPAN>BoundingGeometry<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Command<SPAN class="punctuation token">.</SPAN><SPAN class="token function">CanExecute</SPAN><SPAN class="punctuation token">(</SPAN>viewpoint<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Command<SPAN class="punctuation token">.</SPAN><SPAN class="token function">Execute</SPAN><SPAN class="punctuation token">(</SPAN>viewpoint<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="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></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>Then I try to attach the behavior to the MapView in the xaml Form:
<SPAN class="prolog token"><?xml version="1.0" encoding="utf-8" ?></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>ContentPage</SPAN> <SPAN class="attr-name token">xmlns</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fxamarin.com%2Fschemas%2F2014%2Fforms" target="_blank">http://xamarin.com/schemas/2014/forms</A><SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>x</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fschemas.microsoft.com%2Fwinfx%2F2009%2Fxaml" target="_blank">http://schemas.microsoft.com/winfx/2009/xaml</A><SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>esriUI</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>clr-namespace:Esri.ArcGISRuntime.Xamarin.Forms;assembly<SPAN class="punctuation token">=</SPAN>Esri.ArcGISRuntime.Xamarin.Forms<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>local</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>clr-namespace:TrabajarMapasPortal.Shared;assembly<SPAN class="punctuation token">=</SPAN>TrabajarMapasPortal<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>vm</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>clr-namespace:TrabajarMapasPortal.ViewModels;assembly<SPAN class="punctuation token">=</SPAN>TrabajarMapasPortal<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>prism</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>clr-namespace:Prism.Mvvm;assembly<SPAN class="punctuation token">=</SPAN>Prism.Forms<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token"><SPAN class="namespace token">prism:</SPAN>ViewModelLocator.AutowireViewModel</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>True<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>bh</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>clr-namespace:TrabajarMapasPortal.Behaviors;assembly<SPAN class="punctuation token">=</SPAN>TrabajarMapasPortal<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token"><SPAN class="namespace token">x:</SPAN>Class</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>TrabajarMapasPortal.Views.MapPage<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>Grid</SPAN><SPAN class="punctuation token">></SPAN></SPAN>
<Grid.RowDefinitions>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>RowDefinition</SPAN><SPAN class="punctuation token">/></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>RowDefinition</SPAN> <SPAN class="attr-name token">Height</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>70<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">/></SPAN></SPAN>
</Grid.RowDefinitions>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN><SPAN class="namespace token">esriUI:</SPAN>MapView</SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">x:</SPAN>Name</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>MapView<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Map</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>{Binding Path<SPAN class="punctuation token">=</SPAN>Map}<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN>
<esriUI:Mapview.Behaviors>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN><SPAN class="namespace token">bh:</SPAN>MapViewViewporChangedBehavior</SPAN>
<SPAN class="attr-name token">Command</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>{Binding Path<SPAN class="punctuation token">=</SPAN>UpdateViewpointCommand}<SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="punctuation token">/></SPAN></SPAN>
</esriUI:Mapview.Behaviors>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN><SPAN class="namespace token">esriUI:</SPAN>MapView</SPAN><SPAN class="punctuation token">></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>ListView</SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">x:</SPAN>Name</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>BasemapListBox<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">ItemsSource</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>{Binding Path<SPAN class="punctuation token">=</SPAN>BasemapChoices}<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Grid.Row</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>0<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">IsVisible</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>{Binding Path<SPAN class="punctuation token">=</SPAN>IsBasemapListVisible}<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN>
<ListView.Behaviors>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN><SPAN class="namespace token">bh:</SPAN>ListViewItemTappedBehavior</SPAN>
<SPAN class="attr-name token">Command</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>{Binding Path<SPAN class="punctuation token">=</SPAN>ChangeBasemapCommand}<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">/></SPAN></SPAN>
</ListView.Behaviors>
<ListView.BackgroundColor>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>OnPlatform</SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">x:</SPAN>TypeArguments</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>Color<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Android</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>Black<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">WinPhone</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>#6FFFFFFF<SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="punctuation token">/></SPAN></SPAN>
</ListView.BackgroundColor>
<ListView.Margin>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>OnPlatform</SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">x:</SPAN>TypeArguments</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>Thickness<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">WinPhone</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>25<SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="punctuation token">/></SPAN></SPAN>
</ListView.Margin>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>ListView</SPAN><SPAN class="punctuation token">></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>Grid</SPAN> <SPAN class="attr-name token">Grid.Row</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>1<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Margin</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>5,2<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN>
<Grid.ColumnDefinitions>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>ColumnDefinition</SPAN><SPAN class="punctuation token">/></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>ColumnDefinition</SPAN><SPAN class="punctuation token">/></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>ColumnDefinition</SPAN><SPAN class="punctuation token">/></SPAN></SPAN>
</Grid.ColumnDefinitions>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>Button</SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">x:</SPAN>Name</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>BasemapsButton<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Grid.Column</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>0<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Text</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>Mapa Base<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Command</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>{Binding Path<SPAN class="punctuation token">=</SPAN>BaseMapsCommand}<SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="punctuation token">/></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>Button</SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">x:</SPAN>Name</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>NewMapButton<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Grid.Column</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>1<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Text</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>Nuevo<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">/></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>Button</SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">x:</SPAN>Name</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>SaveMapButton<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Grid.Column</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>2<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Text</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>Guardar ...<SPAN class="punctuation token">"</SPAN></SPAN>
<SPAN class="attr-name token">Command</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>{Binding Path<SPAN class="punctuation token">=</SPAN>ShowSaveMapPageCommand}<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">/></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>Grid</SPAN><SPAN class="punctuation token">></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>Grid</SPAN><SPAN class="punctuation token">></SPAN></SPAN>
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>ContentPage</SPAN><SPAN class="punctuation token">></SPAN></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></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>But I get the next error message at compile time:
TrabajarMapasPortal.Views.MapPage.xaml(19,10): error : Position 19:10.
Type Mapview not found in xmlns clr-namespace:Esri.ArcGISRuntime.Xamarin.Forms;
assembly=Esri.ArcGISRuntime.Xamarin.Forms
<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
This is the ViewModel file:
<SPAN class="keyword token">using</SPAN> System<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> System<SPAN class="punctuation token">.</SPAN>Windows<SPAN class="punctuation token">.</SPAN>Input<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> System<SPAN class="punctuation token">.</SPAN>Threading<SPAN class="punctuation token">.</SPAN>Tasks<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> Esri<SPAN class="punctuation token">.</SPAN>ArcGISRuntime<SPAN class="punctuation token">.</SPAN>Mapping<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> Esri<SPAN class="punctuation token">.</SPAN>ArcGISRuntime<SPAN class="punctuation token">.</SPAN>Portal<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> Esri<SPAN class="punctuation token">.</SPAN>ArcGISRuntime<SPAN class="punctuation token">.</SPAN>Security<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> Prism<SPAN class="punctuation token">.</SPAN>Navigation<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> Prism<SPAN class="punctuation token">.</SPAN>Events<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> Prism<SPAN class="punctuation token">.</SPAN>Commands<SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">namespace</SPAN> TrabajarMapasPortal<SPAN class="punctuation token">.</SPAN>ViewModels
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">using</SPAN> Events<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">using</SPAN> Prism<SPAN class="punctuation token">.</SPAN>Services<SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">class</SPAN> <SPAN class="token class-name">MapPageViewModel</SPAN> <SPAN class="punctuation token">:</SPAN> ViewModelBase
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">private</SPAN> Map _map<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">bool</SPAN> _isBasemapListVisible<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">const</SPAN> <SPAN class="keyword token">string</SPAN> ArcGISOnlineUrl <SPAN class="operator token">=</SPAN> <SPAN class="string token"><SPAN>"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fwww.arcgis.com%2Fsharing%2Frest" target="_blank">https://www.arcgis.com/sharing/rest</A><SPAN>"</SPAN></SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">const</SPAN> <SPAN class="keyword token">string</SPAN> AppClientId <SPAN class="operator token">=</SPAN> <SPAN class="string token">"fqCCjw5dkUpIuZba"</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">const</SPAN> <SPAN class="keyword token">string</SPAN> OAuthRedirectUrl <SPAN class="operator token">=</SPAN> <SPAN class="string token"><SPAN>"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fdevelopers.arcgis.com" target="_blank">https://developers.arcgis.com</A><SPAN>"</SPAN></SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> Map Map
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">get</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">return</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>_map<SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">set</SPAN> <SPAN class="punctuation token">{</SPAN> SetProperty<SPAN class="operator token"><</SPAN>Map<SPAN class="operator token">></SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">ref</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>_map<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">value</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">private</SPAN> Viewpoint CurrentViewpoint <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">get</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">set</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">bool</SPAN> IsMapSaved
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">get</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">return</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map <SPAN class="operator token">!=</SPAN> <SPAN class="keyword token">null</SPAN> <SPAN class="operator token">&&</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN>Item <SPAN class="operator token">!=</SPAN> <SPAN class="keyword token">null</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">string</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN> BasemapChoices <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">get</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">set</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">bool</SPAN> IsBasemapListVisible
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">get</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">return</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>_isBasemapListVisible<SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">set</SPAN> <SPAN class="punctuation token">{</SPAN> SetProperty<SPAN class="operator token"><</SPAN><SPAN class="keyword token">bool</SPAN><SPAN class="operator token">></SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">ref</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>_isBasemapListVisible<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">value</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> ICommand BaseMapsCommand <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">get</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">set</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> ICommand ChangeBasemapCommand <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">get</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">set</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> ICommand ShowSaveMapPageCommand <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">get</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">set</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> ICommand UpdateViewpointCommand <SPAN class="punctuation token">{</SPAN> <SPAN class="keyword token">get</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">set</SPAN><SPAN class="punctuation token">;</SPAN> <SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="token function">MapPageViewModel</SPAN><SPAN class="punctuation token">(</SPAN>INavigationService navigationService<SPAN class="punctuation token">,</SPAN> IEventAggregator eventAgreggator<SPAN class="punctuation token">,</SPAN> IPageDialogService dialogService<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>DialogService <SPAN class="operator token">=</SPAN> dialogService<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>EventAggregator <SPAN class="operator token">=</SPAN> eventAgreggator<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>NavigationService <SPAN class="operator token">=</SPAN> navigationService<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>EventAggregator
<SPAN class="punctuation token">.</SPAN>GetEvent<SPAN class="operator token"><</SPAN>SaveMapEvent<SPAN class="operator token">></SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">.</SPAN><SPAN class="token function">Subscribe</SPAN><SPAN class="punctuation token">(</SPAN>SaveMapAction<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</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="token function">CreateStreetsVector</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">this</SPAN><SPAN class="punctuation token">.</SPAN>BaseMapsCommand <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">DelegateCommand</SPAN><SPAN class="punctuation token">(</SPAN>BaseMapsAction<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>ChangeBasemapCommand <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">DelegateCommand</SPAN><SPAN class="operator token"><</SPAN><SPAN class="keyword token">string</SPAN><SPAN class="operator token">></SPAN><SPAN class="punctuation token">(</SPAN>ChangeBasemapAction<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>ShowSaveMapPageCommand <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">DelegateCommand</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>ShowSaveMapPageAction<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>UpdateViewpointCommand <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">DelegateCommand</SPAN><SPAN class="operator token"><</SPAN>Viewpoint<SPAN class="operator token">></SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>UpdateCurrentViewPointAction<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>BasemapChoices <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">string</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="punctuation token">{</SPAN>
<SPAN class="string token">"Topográfico"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"Topográfico Vector"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"Calles"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"Calles Vector"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"Imágenes"</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="string token">"Océanos"</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">UpdateAuthenticationManager</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="comment token">/// <param name="vp"></param></SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">UpdateCurrentViewPointAction</SPAN><SPAN class="punctuation token">(</SPAN>Viewpoint vp<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>CurrentViewpoint <SPAN class="operator token">=</SPAN> vp<SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="comment token">/// <param name="saveMapInfo"></param></SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">async</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">SaveMapAction</SPAN><SPAN class="punctuation token">(</SPAN>SaveMapInfo saveMapInfo<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">try</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">var</SPAN> currentViewpoint <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN>InitialViewpoint<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="operator token">!</SPAN><SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>IsMapSaved<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">await</SPAN> <SPAN class="token function">SaveNewMapAsync</SPAN><SPAN class="punctuation token">(</SPAN>currentViewpoint<SPAN class="punctuation token">,</SPAN> saveMapInfo<SPAN class="punctuation token">.</SPAN>Title<SPAN class="punctuation token">,</SPAN> saveMapInfo<SPAN class="punctuation token">.</SPAN>Description<SPAN class="punctuation token">,</SPAN> saveMapInfo<SPAN class="punctuation token">.</SPAN>Tags<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">await</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>DialogService<SPAN class="punctuation token">.</SPAN><SPAN class="token function">DisplayAlertAsync</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Mapa Guardado"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Guardado"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">string</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">Format</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Se guardó {0} en AGOL"</SPAN><SPAN class="punctuation token">,</SPAN> saveMapInfo<SPAN class="punctuation token">.</SPAN>Title<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"OK"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">else</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="comment token">// TODO: update existing portal item</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">catch</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="token class-name">Exception</SPAN> ex<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">await</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>DialogService<SPAN class="punctuation token">.</SPAN><SPAN class="token function">DisplayAlertAsync</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"No se pudo guardar el mapa"</SPAN><SPAN class="punctuation token">,</SPAN> ex<SPAN class="punctuation token">.</SPAN>Message<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"OK"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">BaseMapsAction</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>IsBasemapListVisible <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">true</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="comment token">/// <param name="basemap"></param></SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">ChangeBasemapAction</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">string</SPAN> basemap<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">switch</SPAN> <SPAN class="punctuation token">(</SPAN>basemap<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">case</SPAN> <SPAN class="string token">"Topográfico"</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN>Basemap <SPAN class="operator token">=</SPAN> Basemap<SPAN class="punctuation token">.</SPAN><SPAN class="token function">CreateTopographic</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">break</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">case</SPAN> <SPAN class="string token">"Topográfico Vector"</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN>Basemap <SPAN class="operator token">=</SPAN> Basemap<SPAN class="punctuation token">.</SPAN><SPAN class="token function">CreateTopographicVector</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">break</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">case</SPAN> <SPAN class="string token">"Calles"</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN>Basemap <SPAN class="operator token">=</SPAN> Basemap<SPAN class="punctuation token">.</SPAN><SPAN class="token function">CreateStreets</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">break</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">case</SPAN> <SPAN class="string token">"Calles Vector"</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN>Basemap <SPAN class="operator token">=</SPAN> Basemap<SPAN class="punctuation token">.</SPAN><SPAN class="token function">CreateStreetsVector</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">break</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">case</SPAN> <SPAN class="string token">"Imágenes"</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN>Basemap <SPAN class="operator token">=</SPAN> Basemap<SPAN class="punctuation token">.</SPAN><SPAN class="token function">CreateImagery</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">break</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">case</SPAN> <SPAN class="string token">"Océanos"</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN>Basemap <SPAN class="operator token">=</SPAN> Basemap<SPAN class="punctuation token">.</SPAN><SPAN class="token function">CreateOceans</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">break</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>IsBasemapListVisible <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">false</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">async</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">ShowSaveMapPageAction</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">await</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>NavigationService<SPAN class="punctuation token">.</SPAN><SPAN class="token function">NavigateAsync</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"SaveMapPage"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> info <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">CredentialRequestInfo</SPAN>
<SPAN class="punctuation token">{</SPAN>
AuthenticationType <SPAN class="operator token">=</SPAN> AuthenticationType<SPAN class="punctuation token">.</SPAN>Token<SPAN class="punctuation token">,</SPAN>
ServiceUri <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">Uri</SPAN><SPAN class="punctuation token">(</SPAN>ArcGISOnlineUrl<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">;</SPAN>
Credential cred <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">await</SPAN> AuthenticationManager<SPAN class="punctuation token">.</SPAN>Current<SPAN class="punctuation token">.</SPAN><SPAN class="token function">GetCredentialAsync</SPAN><SPAN class="punctuation token">(</SPAN>info<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">false</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
AuthenticationManager<SPAN class="punctuation token">.</SPAN>Current<SPAN class="punctuation token">.</SPAN><SPAN class="token function">AddCredential</SPAN><SPAN class="punctuation token">(</SPAN>cred<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">override</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">OnNavigatedFrom</SPAN><SPAN class="punctuation token">(</SPAN>NavigationParameters parameters<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">base</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">OnNavigatedFrom</SPAN><SPAN class="punctuation token">(</SPAN>parameters<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="comment token">/// <param name="initialViewpoint"></param></SPAN>
<SPAN class="comment token">/// <param name="title"></param></SPAN>
<SPAN class="comment token">/// <param name="description"></param></SPAN>
<SPAN class="comment token">/// <param name="tags"></param></SPAN>
<SPAN class="comment token">/// <returns></returns></SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">async</SPAN> Task <SPAN class="token function">SaveNewMapAsync</SPAN><SPAN class="punctuation token">(</SPAN>Viewpoint initialViewpoint<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">string</SPAN> title<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">string</SPAN> description<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">string</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN> tags<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
ArcGISPortal agsOnline <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">await</SPAN> ArcGISPortal<SPAN class="punctuation token">.</SPAN><SPAN class="token function">CreateAsync</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">Uri</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token"><SPAN>"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fwww.arcgis.com%2Fsharing%2Frest" target="_blank">https://www.arcgis.com/sharing/rest</A><SPAN>"</SPAN></SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN>InitialViewpoint <SPAN class="operator token">=</SPAN> initialViewpoint<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">await</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">.</SPAN>Map<SPAN class="punctuation token">.</SPAN><SPAN class="token function">SaveAsAsync</SPAN><SPAN class="punctuation token">(</SPAN>agsOnline<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">null</SPAN><SPAN class="punctuation token">,</SPAN> title<SPAN class="punctuation token">,</SPAN> description<SPAN class="punctuation token">,</SPAN> tags<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">null</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="comment token">/// <param name="info"></param></SPAN>
<SPAN class="comment token">/// <returns></returns></SPAN>
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">async</SPAN> Task<SPAN class="operator token"><</SPAN>Credential<SPAN class="operator token">></SPAN> <SPAN class="token function">CreateCredentialAsync</SPAN><SPAN class="punctuation token">(</SPAN>CredentialRequestInfo info<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
Credential credential <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">null</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">try</SPAN>
<SPAN class="punctuation token">{</SPAN>
credential <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">await</SPAN> AuthenticationManager<SPAN class="punctuation token">.</SPAN>Current<SPAN class="punctuation token">.</SPAN><SPAN class="token function">GenerateCredentialAsync</SPAN><SPAN class="punctuation token">(</SPAN>info<SPAN class="punctuation token">.</SPAN>ServiceUri<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><SPAN class="token class-name">Exception</SPAN> ex<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">throw</SPAN> <SPAN class="punctuation token">(</SPAN>ex<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">return</SPAN> credential<SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="comment token">/// <summary></SPAN>
<SPAN class="comment token">/// </SPAN>
<SPAN class="comment token">/// </summary></SPAN>
<SPAN class="keyword token">private</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">UpdateAuthenticationManager</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
ServerInfo portalServerInfo <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">ServerInfo</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
portalServerInfo<SPAN class="punctuation token">.</SPAN>ServerUri <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">Uri</SPAN><SPAN class="punctuation token">(</SPAN>ArcGISOnlineUrl<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
portalServerInfo<SPAN class="punctuation token">.</SPAN>TokenAuthenticationType <SPAN class="operator token">=</SPAN> TokenAuthenticationType<SPAN class="punctuation token">.</SPAN>OAuthImplicit<SPAN class="punctuation token">;</SPAN>
OAuthClientInfo oAuthInfo <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">OAuthClientInfo</SPAN>
<SPAN class="punctuation token">{</SPAN>
ClientId <SPAN class="operator token">=</SPAN> AppClientId<SPAN class="punctuation token">,</SPAN>
RedirectUri <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">Uri</SPAN><SPAN class="punctuation token">(</SPAN>OAuthRedirectUrl<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">;</SPAN>
portalServerInfo<SPAN class="punctuation token">.</SPAN>OAuthClientInfo <SPAN class="operator token">=</SPAN> oAuthInfo<SPAN class="punctuation token">;</SPAN>
AuthenticationManager thisAuthenticationManager <SPAN class="operator token">=</SPAN> AuthenticationManager<SPAN class="punctuation token">.</SPAN>Current<SPAN class="punctuation token">;</SPAN>
thisAuthenticationManager<SPAN class="punctuation token">.</SPAN><SPAN class="token function">RegisterServer</SPAN><SPAN class="punctuation token">(</SPAN>portalServerInfo<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
thisAuthenticationManager<SPAN class="punctuation token">.</SPAN>ChallengeHandler <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">ChallengeHandler</SPAN><SPAN class="punctuation token">(</SPAN>CreateCredentialAsync<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></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>Appreciate any help!!
Marcelo.