編輯:關於Android編程
ArcGIS移動產品開發包Android和iOS 10.2版於前段時間正式發布,除了眾所周知的強勁的離線支持,新版本中還有哪些激動人心的增強呢?請看“新特性系列博客”為您揭秘。
ArcGIS Runtime SDK for Android 10.2中有一個重大的新特性就是API的簡化,讓開發者能夠使用更少的代碼就能完成功能開發。比如,在10.2之前的版本中,加載底圖需要使用ArcGISTiledMapServiceLayer的特殊方法來指定底圖的初始化范圍、縮放等級、加載的圖層等,而在10.2新的編程模式中,通過新增的類MapOptions來預定義底圖、縮放級別、居中位置等,讓MapViews的創建過程大大簡化。
新增的MapOptions類
使用MapOptions類可以簡化創建MapView的方法,創建一個MapOptions的對象,並指定范圍、等級、居中位置等各種值,並將該對象作為參數傳入MapView的構造函數中。使用方法如下:
MapOptions topo = new MapOptions(MapType.TOPO, 23, -110, 9);MapView mMapView = new MapView(this, topo);
同樣的,現在可以使用MapOptions類的setMapOptions方法來輕松切換底圖:
MapOptions streets = new MapOptions(MapType.STREETS);mMapView.setMapOptions(streets);
上述方法可以將地圖的底圖切換到STREETS類型。為了定義各個底圖的extent,開發者必須在切換底圖之前獲取地圖的范圍,並使用setOnStatusChangedListener方法來設定地圖范圍的變化:
Polygon extent = mMapView.getExtent();mMapView.setMapOptions(streets);// honor the extent when switching basemapsmMapView.setOnStatusChangedListener(new OnStatusChangedListener() {private static final long serialVersionUID = 1L;@Overridepublic void onStatusChanged(Object source, STATUS status) {mMapView.setExtent(extent);}});
上面示例代碼顯示了MapOptions類在Java代碼中的用法,實際上,MapOptions類也可以在XML中使用(mapoptions屬性):
android:id="@+id/map"android:layout_width="fill_parent"android:layout_height="fill_parent"mapoptions.MapType="topo"mapoptions.ZoomLevel="13"mapoptions.center="33.666354, -117.903557"/>
在XML中如上定義之後,在Java代碼中,只需要一句代碼即可實例化MapView:
// Retrieve the MapView, Basemap, ZoomLevel, and Center from XML layoutMapView mMapView = (MapView) findViewById(R.id.map);
可使用示例向導加載名為Basemaps的例子來查看全部代碼。
幾年前,看到過有個牛人用HTML5繪制了浪漫的愛心表白動畫。發現原來程序員也是可以很浪……漫…..的(PS:剛過520,被妹子罵
百度地圖 SDK 不僅為廣大開發者提供了炫酷的地圖展示效果、豐富的覆蓋物圖層,更為廣大開發者提供了多種 LBS 檢索的能力。通過這些接口,開發者可以輕松的訪問百度的 LB
1、adapter 和adapterview 復用歷史緩存(item布局和數據緩存)。 2、數據分頁顯示(利用操作引導用戶) 3、優化布局文件xml。(layout盡量不
iBeacon的工作原理是基於Bluetooth Low Energy(BLE)低功耗藍牙傳輸技術,iBeacon基站不斷向四周發送藍牙信號,當智