public void GetGPSInfo(object args = null) { LocationClientOption option = null; if (args != null && args is LocationClientOption) { sLocOption = args as LocationClientOption; sLocationClient.LocOption = sLocOption; } if (sLocOption == null) { option = new LocationClientOption(); option.SetLocationMode(LocationClientOption.LocationMode.HightAccuracy); //可选,默认高精度,设置定位模式,高精度,低功耗,仅设备 option.CoorType = "bd09ll"; //可选,默认gcj02,设置返回的定位结果坐标系 int scanSpan = 5000; // 默认0,即仅定位一次 option.ScanSpan = scanSpan; //可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的 option.SetIsNeedAddress(true); //可选,设置是否需要地址信息,默认不需要 option.OpenGps = true; //可选,默认false,设置是否使用gps option.LocationNotify = false; //可选,默认false,设置是否当GPS有效时按照1S/1次频率输出GPS结果 option.SetIsNeedLocationDescribe(true); //可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近” option.SetIsNeedLocationPoiList(true); //可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到 option.SetIgnoreKillProcess(false); //可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死 option.SetIgnoreCacheException(false); //可选,默认false,设置是否收集CRASH信息,默认收集 option.EnableSimulateGps = true; //可选,默认false,设置是否需要过滤GPS仿真结果,默认需要 option.SetNeedNewVersionRgc(true); //可选,设置是否需要最新版本的地址信息。默认需要,即参数为true option.SetWifiCacheTimeOut(60 * 1000); //可选, 首次启动定位时,会先判断当前Wi-Fi是否超出有效期,若超出有效期,会先重新扫描Wi-Fi,然后定位 sLocOption = option; sLocationClient.LocOption = sLocOption; } sLocationClient.Restart(); }
private void StartLocationService() { LocationClientOption option = new LocationClientOption(); option.SetLocationMode(LocationClientOption.LocationMode.HightAccuracy); //可选,默认高精度,设置定位模式,高精度,低功耗,仅设备 option.CoorType = "bd09ll"; //可选,默认gcj02,设置返回的定位结果坐标系 int span = 1000; option.ScanSpan = span; //可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的 option.SetIsNeedAddress(true); //可选,设置是否需要地址信息,默认不需要 option.OpenGps = true; //可选,默认false,设置是否使用gps option.LocationNotify = true; //可选,默认false,设置是否当GPS有效时按照1S/1次频率输出GPS结果 option.SetIsNeedLocationDescribe(true); //可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近” option.SetIsNeedLocationPoiList(true); //可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到 option.SetIgnoreKillProcess(false); //可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死 option.SetIgnoreCacheException(false); //可选,默认false,设置是否收集CRASH信息,默认收集 option.EnableSimulateGps = false; //可选,默认false,设置是否需要过滤GPS仿真结果,默认需要 mLocationClient.LocOption = option; mLocationClient.Start(); }
public LocationServiceImpl(BMap.MapView mapView, Context context) { this.mapView = mapView; LocationClientOption option = new LocationClientOption(); option.SetLocationMode(LocationClientOption.LocationMode.HightAccuracy); option.CoorType = "bd09ll"; // gcj02 by default option.ScanSpan = 1000; // 0 by default(just once) option.SetIsNeedAddress(false); // false by default option.OpenGps = true; // false by default option.LocationNotify = true; // false by default option.SetIsNeedLocationDescribe(false); // 通过 getLocationDescribe 获取语义化结果 option.SetIsNeedLocationPoiList(false); // 通过 getPoiList 获取 option.IsIgnoreKillProcess = false; option.IsIgnoreCacheException = false; option.SetEnableSimulateGps(false); option.LocationNotify = true; native = new LocationClient(context); native.LocOption = option; native.RegisterLocationListener(this); }
protected override void OnElementChanged(ElementChangedEventArgs <MyBaiduMap> e) { base.OnElementChanged(e); if (e.OldElement == null) { mMapView = new MapView(Forms.Context, new BaiduMapOptions()); mBaiduMap = mMapView.Map; this.SetNativeControl(mMapView); mBaiduMap.MyLocationEnabled = true; // 定位初始化 mLocClient = new LocationClient(Forms.Context); mLocClient.RegisterLocationListener(this); LocationClientOption option = new LocationClientOption(); option.OpenGps = true; // 打开gps option.CoorType = "bd09ll"; // 设置坐标类型 option.ScanSpan = 1000; mLocClient.LocOption = option; mLocClient.Start(); } }
/// <summary> /// 定位客户端参数设定 /// </summary> /// <returns></returns> private LocationClientOption SetLocationClientOption() { int span = 5 * 1000; var option = new LocationClientOption { CoorType = "bd09ll", ScanSpan = span }; ////可选,默认高精度,设置定位模式,高精度,低功耗,仅设备 option.SetLocationMode(LocationClientOption.LocationMode.HightAccuracy); option.SetIsNeedAddress(true); //可选,设置是否需要地址信息,默认不需要 option.OpenGps = true; //可选,默认false,设置是否使用gps option.LocationNotify = true; //可选,默认false,设置是否当GPS有效时按照1S/1次频率输出GPS结果 option.SetIsNeedLocationDescribe(true); option.SetIsNeedLocationPoiList(true); option.SetIgnoreKillProcess(true); option.SetIgnoreCacheException(true); //可选,默认false,设置是否收集CRASH信息,默认收集 option.EnableSimulateGps = true; //可选,默认false,设置是否需要过滤GPS仿真结果,默认需要 return(option); }
public LocationServiceImpl(BMap.MapView mapView, Context context) { this.mapView = mapView; LocationClientOption option = new LocationClientOption(); //option.SetLocationMode(LocationClientOption.LocationMode.HightAccuracy); //option.CoorType = "bd09ll"; // gcj02 by default //option.ScanSpan = 1000; // 0 by default(just once) //option.SetIsNeedAddress(false); // false by default //option.OpenGps = true; // false by default //option.LocationNotify = true; // false by default //option.SetIsNeedLocationDescribe(false); // 通过 getLocationDescribe 获取语义化结果 //option.SetIsNeedLocationPoiList(false); // 通过 getPoiList 获取 //option.IsIgnoreKillProcess = false; //option.IsIgnoreCacheException = false; //option.SetEnableSimulateGps(false); //option.LocationNotify = true; option.SetLocationMode(LocationClientOption.LocationMode.HightAccuracy); //可选,默认高精度,设置定位模式,高精度,低功耗,仅设备 option.CoorType = "bd09ll"; //可选,默认gcj02,设置返回的定位结果坐标系 int span = 1000; option.ScanSpan = span; //可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的 option.SetIsNeedAddress(true); //可选,设置是否需要地址信息,默认不需要 option.OpenGps = true; //可选,默认false,设置是否使用gps option.LocationNotify = true; //可选,默认false,设置是否当GPS有效时按照1S/1次频率输出GPS结果 option.SetIsNeedLocationDescribe(true); //可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近” option.SetIsNeedLocationPoiList(true); //可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到 option.SetIgnoreKillProcess(false); //可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死 option.SetIgnoreCacheException(false); //可选,默认false,设置是否收集CRASH信息,默认收集 option.EnableSimulateGps = false; //可选,默认false,设置是否需要过滤GPS仿真结果,默认需要 option.SetEnableSimulateGps(false); option.LocationNotify = true; native = new LocationClient(context); native.LocOption = option; native.RegisterLocationListener(this); }
private void Init(Context context) { Location = new LocationClient(context); Listener = new LocationListerner(); CallBack = new LocationCallBack(); Location.RegisterLocationListener(Listener); Location.RegisterLocationListener(CallBack); LocationClientOption option = new LocationClientOption(); option.AddrType = "all"; option.CoorType = "bd09ll"; option.DisableCache(true); option.Priority = LocationClientOption.NetWorkFirst; Location.LocOption = option; MapManager = new BMapManager(context); ApplicationInfo info = context.PackageManager.GetApplicationInfo(context.PackageName, PackageInfoFlags.MetaData); Api_Key = info.MetaData.GetString(API_KEY_METADATA_KEY); }
public LocationClientOption GetDefaultLocationClientOption() { if (mOption == null) { mOption = new LocationClientOption(); //高精度 mOption.SetLocationMode(LocationClientOption.LocationMode.HightAccuracy); //附近地址 mOption.SetIsNeedAddress(true); // 可选,默认0,即仅定位一次,设置发起连续定位请求的间隔需要大于等于1000ms才是有效的 mOption.ScanSpan = 1000; // 可选,默认gcj02,设置返回的定位结果坐标系,如果配合百度地图使用,建议设置为bd09ll; mOption.CoorType = "bd09ll"; // 可选,默认false,设置是否开启Gps定位 mOption.OpenGps = true; // 可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop mOption.SetIgnoreKillProcess(true); // 可选,默认false,设置是否需要位置语义化结果,可以在BDLocation mOption.SetIsNeedLocationDescribe(true); // 可选,默认false,设置是否需要POI结果,可以在BDLocation mOption.SetIsNeedLocationPoiList(true); } return(mOption); }