Hi!
I'm migrating an old android application to the Android SDK 100.6. I am having a lot of trouble to display a map. I always get a blank screen.
All the examples I have found have the MapView in an Activity. In my application, the MapView is in a Fragment, but I don't think that is the issue.
My XML:
<com.esri.arcgisruntime.mapping.view.MapView
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</com.esri.arcgisruntime.mapping.view.MapView><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>My Fragment:
<SPAN class="keyword token">public</SPAN> View <SPAN class="token function">onCreateView</SPAN><SPAN class="punctuation token">(</SPAN>LayoutInflater inflater<SPAN class="punctuation token">,</SPAN> ViewGroup container<SPAN class="punctuation token">,</SPAN>
Bundle savedInstanceState<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
myFragmentView <SPAN class="operator token">=</SPAN> inflater<SPAN class="punctuation token">.</SPAN><SPAN class="token function">inflate</SPAN><SPAN class="punctuation token">(</SPAN>R<SPAN class="punctuation token">.</SPAN>layout<SPAN class="punctuation token">.</SPAN>home_view_tab_my_statistics<SPAN class="punctuation token">,</SPAN>
container<SPAN class="punctuation token">,</SPAN> <SPAN class="token boolean">false</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
mMapView <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">(</SPAN>MapView<SPAN class="punctuation token">)</SPAN> myFragmentView<SPAN class="punctuation token">.</SPAN><SPAN class="token function">findViewById</SPAN><SPAN class="punctuation token">(</SPAN>R<SPAN class="punctuation token">.</SPAN>id<SPAN class="punctuation token">.</SPAN>map<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
ArcGISMap map <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">ArcGISMap</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"https://www.arcgis.com/home/webmap/viewer.html?webmap=65087932bac7461892b0d31f563a8c4d"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
map<SPAN class="punctuation token">.</SPAN><SPAN class="token function">addLoadStatusChangedListener</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">LoadStatusChangedListener</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
@Override
<SPAN class="keyword token">public</SPAN> <SPAN class="keyword token">void</SPAN> <SPAN class="token function">loadStatusChanged</SPAN><SPAN class="punctuation token">(</SPAN>LoadStatusChangedEvent loadStatusChangedEvent<SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
String mapLoadStatus<SPAN class="punctuation token">;</SPAN>
mapLoadStatus <SPAN class="operator token">=</SPAN> loadStatusChangedEvent<SPAN class="punctuation token">.</SPAN><SPAN class="token function">getNewLoadStatus</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">name</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">// map load status can be any of LOADING, FAILED_TO_LOAD, NOT_LOADED or LOADED</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN>mapLoadStatus <SPAN class="operator token">==</SPAN> <SPAN class="string token">"LOADED"</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">{</SPAN>
mMapView<SPAN class="punctuation token">.</SPAN><SPAN class="token function">setViewpoint</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">Viewpoint</SPAN><SPAN class="punctuation token">(</SPAN>Constants<SPAN class="punctuation token">.</SPAN>MAP_DEFAULT_ENVELOPE_HOME<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>
mMapView<SPAN class="punctuation token">.</SPAN><SPAN class="token function">setMap</SPAN><SPAN class="punctuation token">(</SPAN>map<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">return</SPAN> myFragmentView<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>The first mapLoadStatus is "LOADING", but the next one is always "FAILED_TO_LOAD".
Instead of using a webmap URL, I have tried with a map I have found in the ESRI Documentation; but the result is the same.
Basemap<SPAN class="punctuation token">.</SPAN>Type basemapType <SPAN class="operator token">=</SPAN> Basemap<SPAN class="punctuation token">.</SPAN>Type<SPAN class="punctuation token">.</SPAN>STREETS_VECTOR<SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">double</SPAN> latitude <SPAN class="operator token">=</SPAN> <SPAN class="number token">34.09042</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">double</SPAN> longitude <SPAN class="operator token">=</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">118.71511</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">int</SPAN> levelOfDetail <SPAN class="operator token">=</SPAN> <SPAN class="number token">11</SPAN><SPAN class="punctuation token">;</SPAN>
ArcGISMap map <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">ArcGISMap</SPAN><SPAN class="punctuation token">(</SPAN>basemapType<SPAN class="punctuation token">,</SPAN> latitude<SPAN class="punctuation token">,</SPAN> longitude<SPAN class="punctuation token">,</SPAN> levelOfDetail<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>
Does anyone know what I am doing wrong? I'm stuck with this error.
Thanks for any help provided!