MapGis載入及使用方法

真的很沉默_發表於2016-03-12
地圖載入順序
 * ① loginfo:地圖檔案存在/mnt/sdcard/MapGIS/map/wuhan/wuhan.xml
 * ② loginfo:mapViewWillStartLoadingMap
 * ③ loginfo:mapViewDidFinishLoadingMap
 * ④ loginfo:mapViewDidUpdateHeading0.0//地圖定位中的使用者朝向
 * ⑤ loginfo:mapViewZoomChanged_-1.0_0.0
 * ⑥ loginfo:mapViewWillStartRefresh
 * ⑦ loginfo:mapViewDidFinishRefresh
 * ⑧ loginfo:mapViewRenderContextCreated
 * 

 * 最後一步是mapViewRenderContextCreated,所以,我們應該將地圖操作都放在這個方法之後進行。



測試定位功能:

//========啟動定位,注意註冊相應的許可權========
BDLManager bdlManager = BDLManager.getInstance(); 
bdlManager.create(context);
bdlManager.setListener(new MMLocationListener() {

@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
LogUtil.i(logTag, "bdlManager onLocationChanged_"+arg0.getLongitude()+"_"+arg0.getLatitude());
}
});
//setOption(int 定位時間間隔,boolean 是否需要返回地址)
bdlManager.setOption(5, false);
bdlManager.start();
//========啟動定位,注意註冊相應的許可權========
BDSManager bdsManager = BDSManager.getInstance(); 
bdsManager.create(context);
bdsManager.setListener(new MMLocationListener() {

@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
LogUtil.i(logTag, "bdsManager onLocationChanged_"+arg0.getLongitude()+"_"+arg0.getLatitude());
}
});
//setOption(int 定位時間間隔,boolean 是否需要返回地址)
bdsManager.setOption(5, false);
bdsManager.start();
//========啟動定位,注意註冊相應的許可權========
GPSManager gpsManager = GPSManager.getInstance(); 
gpsManager.create(context);
gpsManager.setListener(new MMLocationListener() {

@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
LogUtil.i(logTag, "gpsManager onLocationChanged_"+arg0.getLongitude()+"_"+arg0.getLatitude());
}
});
//setOption(int 定位時間間隔,boolean 是否需要返回地址)
gpsManager.setOption(5, false);
gpsManager.start();


經測試,使用BDLManager方法無法定位,  BDSManager及GPSManager可以定位,且只能使用gps定位,無法使用行動網路和wifi定位。


如果是這樣的話,完全可以自定義一個servevice  然後定義一個定位service的管理類,封裝一下定位,停止定位等操作,明天實現吧,今天玩玩遊戲。

相關文章