Arcgis for Android 定位顯示

2021-09-13 08:32:40 字數 1773 閱讀 2619

要想在地圖上定位並將定位結果實時顯示出來,啟發邏輯上非常easy:首先,接收並解析gps或者網路的位置資訊,一般來說,接受的位置資訊是wgs84的經緯度的,可是我們的地圖的投影一般都不會是wgs84的,所以,位置資訊接收來了得做一次座標轉換,眼下,座標轉換的方式有七引數或者四引數的方式,可是這兩種引數轉換的演算法和方式都不怎麼方便,還好,arcgis支援從wgs84到地圖投影的轉換,轉換完畢之後再在地圖上將該點展示出來並間隔重新整理就可以實現。以下我來說說我的實現方式:

1、定義乙個graphicslayer並將之加入到map

graphicslayer glayergps;
……
glayergps = new graphicslayer();

mapview.addlayer(glayergps);

2、定義乙個picturemarkersymbol用來設定位置顯示的樣式

picturemarkersymbol locationsymbol;
locationsymbol =  new picturemarkersymbol(this.getresources().getdrawable(

r.drawable.location));

3、定義locationmanager

locationmanager locmag;

//要定位在地圖中的位置,須要知道當前位置,而當前位置有location物件決定,

//可是,location物件又須要locationmanager物件來建立。

//建立locationmanager的唯一方法

locmag = (locationmanager) this.getsystemservice(context.location_service);

//獲得provider列表

final listproviders=locmag.getproviders(true);

4、迴圈provider,依據provider獲取位置資訊

//迴圈provider,依據provider獲取位置資訊

for(string provider:providers)

//provider失效時呼叫

public void onproviderdisabled(string arg0)

//provider生效時呼叫

public void onproviderenabled(string arg0)

//狀態改變時呼叫

public void onstatuschanged(string arg0, int arg1, bundle arg2)

};

locmag.requestlocationupdates(provider, 100, 0, locationlistener);

if(loc!=null)

}

5、當位置不為空時,就在地圖上畫點

/**

* 在地圖上顯示當前位置

* @param location

*/private void marklocation(location location)

*/ glayergps.addgraphic(new graphic(poly,new ******linesymbol(color.black,2)));

}

6、將glayerpos顯示

glayerpos.setvisible(false);

ArcGIS for Android 查詢最短路徑

介面包含兩控制項 textview和mapview,在執行路徑分析前單擊mapview會增加路徑分析的停靠點,長按mapview會根據停靠點 至少要兩個停靠點 執行查詢最短路徑的操作,執行成功之後會在textview中顯示相關的路徑資訊,這時候單擊查詢的路徑,會選中路徑片段,相關的資訊也會在text...

iOS 定位的時候沒有出顯彈框選擇

這樣就會定位不到。解決方案 1.新增隱私權限的前提下 nslocationalwaysandwheninuseusagedescription nslocationalwaysusagedescription nslocationwheninuseusagedescription 2.你要獲取許可權...

bootstrap datepicker顯示中文

網上教你怎麼顯示中文很多,我也看了很多。但是並沒有解決我顯示不了中文的疑惑。一般來說引入的方式首先是引入樣式指令碼 src script src script 然後是在datepicker中設定language zh cn start datepicker 上面這個版本是正確的,但是為什麼當時我會一...