您好,登錄后才能下訂單哦!
關于定位的功能,開發,很早之前就有做過百度的定位功能。起初是有想法把百度的Loc V3.2的定位SDK整合進來用。但是終歸是想法,但是知道昨天,我問技術群,里面的一位朋友就說起了百度地位SDK整合進來的實現方法。頓時,我就思考了一會,隨后就是很激動地操作起來。根據朋友給的一個demo。做了兩天,終于算是真正將功能實現了。至于界面的美觀或者樣式的顯示這個就偷懶掉了。
http://developer.baidu.com/map/sdk-android.htm
這個是百度的SDK。幫助文檔。
第一次看這個定位的實現的時候,覺得按步驟來就可以實現,把該設置的參數設置好就行了。其實,的確就行了。很簡單!
首先定位當前經緯度,然后設置定位點。
private double lat=-1;//緯度 private double lon=-1;//經度 public class MainActivity extends ActivityBas{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArcGISRuntime.setClientId("1eFHW78avlnRUPHm");//取消arcgis默認圖標 dingweilocation(); mapView.centerAt(lat, lon, true);//設置定位中心點 mapView.setScale(1105828.1803422251);//設置顯示比例 } private void dingweilocation() { //定位的方法 LocationDisplayManager locationDisplayManager = mapView.getLocationDisplayManager(); locationDisplayManager.setLocationListener(new LocationListener() { @Override public void onLocationChanged(Location location) { String bdlat=location.getLatitude()+""; String bdlon=location.getLongitude()+""; if (bdlat.indexOf("E")==-1|bdlon.indexOf("E")==-1){ //這里做個判斷是因為,可能因為gps信號問題,定位出來的經緯度不正常。 Log.i("定位",lat+"?"+lon); lat = location.getLatitude();//緯度 lon = location.getLongitude();//經度 } } @Override public void onStatusChanged(String s, int i, Bundle bundle) { } @Override public void onProviderEnabled(String s) { } @Override public void onProviderDisabled(String s) { } }); locationDisplayManager.start(); } }
好了,今天就寫到這里,以后我再介紹其他arcgis用法。希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。