Exemple #1
0
        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();
        }