Java Code Examples for com.baidu.location.BDLocation#getPoiList()

The following examples show how to use com.baidu.location.BDLocation#getPoiList() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MainActivity.java    From RxLocation with Apache License 2.0 4 votes vote down vote up
private void receiveBaiduLocation(BDLocation location) {
    //copy from baidu location demo.
    if (null != location && location.getLocType() != BDLocation.TypeServerError) {
        StringBuffer sb = new StringBuffer(256);
        sb.append("time : ");
        location.getCountryCode();
        /**
         * 时间也可以使用systemClock.elapsedRealtime()方法 获取的是自从开机以来,每次回调的时间;
         * location.getTime() 是指服务端出本次结果的时间,如果位置不发生变化,则时间不变
         */
        sb.append(location.getTime());
        sb.append("\nlocType : ");// 定位类型
        sb.append(location.getLocType());
        sb.append("\nlocType description : ");// *****对应的定位类型说明*****
        sb.append(location.getLocTypeDescription());
        sb.append("\nlatitude : ");// 纬度
        sb.append(location.getLatitude());
        sb.append("\nlontitude : ");// 经度
        sb.append(location.getLongitude());
        sb.append("\nradius : ");// 半径
        sb.append(location.getRadius());
        sb.append("\nCountryCode : ");// 国家码
        sb.append(location.getCountryCode());
        sb.append("\nCountry : ");// 国家名称
        sb.append(location.getCountry());
        sb.append("\ncitycode : ");// 城市编码
        sb.append(location.getCityCode());
        sb.append("\ncity : ");// 城市
        sb.append(location.getCity());
        sb.append("\nDistrict : ");// 区
        sb.append(location.getDistrict());
        sb.append("\nStreet : ");// 街道
        sb.append(location.getStreet());
        sb.append("\naddr : ");// 地址信息
        sb.append(location.getAddrStr());
        sb.append("\nUserIndoorState: ");// *****返回用户室内外判断结果*****
        sb.append(location.getUserIndoorState());
        sb.append("\nDirection(not all devices have value): ");
        sb.append(location.getDirection());// 方向
        sb.append("\nlocationdescribe: ");
        sb.append(location.getLocationDescribe());// 位置语义化信息
        sb.append("\nPoi: ");// POI信息
        if (location.getPoiList() != null && !location.getPoiList().isEmpty()) {
            for (int i = 0; i < location.getPoiList().size(); i++) {
                Poi poi = (Poi) location.getPoiList().get(i);
                sb.append(poi.getName() + ";");
            }
        }
        if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
            sb.append("\nspeed : ");
            sb.append(location.getSpeed());// 速度 单位:km/h
            sb.append("\nsatellite : ");
            sb.append(location.getSatelliteNumber());// 卫星数目
            sb.append("\nheight : ");
            sb.append(location.getAltitude());// 海拔高度 单位:米
            sb.append("\ngps status : ");
            sb.append(location.getGpsAccuracyStatus());// *****gps质量判断*****
            sb.append("\ndescribe : ");
            sb.append("gps定位成功");
        } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
            // 运营商信息
            if (location.hasAltitude()) {// *****如果有海拔高度*****
                sb.append("\nheight : ");
                sb.append(location.getAltitude());// 单位:米
            }
            sb.append("\noperationers : ");// 运营商信息
            sb.append(location.getOperators());
            sb.append("\ndescribe : ");
            sb.append("网络定位成功");
        } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
            sb.append("\ndescribe : ");
            sb.append("离线定位成功,离线定位结果也是有效的");
        } else if (location.getLocType() == BDLocation.TypeServerError) {
            sb.append("\ndescribe : ");
            sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到[email protected],会有人追查原因");
        } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
            sb.append("\ndescribe : ");
            sb.append("网络不同导致定位失败,请检查网络是否通畅");
        } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
            sb.append("\ndescribe : ");
            sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
        }
        mLocation.setText(sb.toString());
    }
}
 
Example 2
Source File: BDLocationService.java    From Social with Apache License 2.0 4 votes vote down vote up
@Override
public void onReceiveLocation(BDLocation location) {
    Log.d("BaiduMapTestActivity", "error code : " + location.getLocType());
    //navigateTo(location);
    //Receive Location
    StringBuffer sb = new StringBuffer(256);
    StringBuffer sb_points = new StringBuffer();
    sb.append("time : ");
    sb.append(location.getTime());
    sb.append("\nerror code : ");
    sb.append(location.getLocType());
    sb.append("\nlatitude : ");
    sb.append(location.getLatitude());
    sb.append("\nlontitude : ");
    sb.append(location.getLongitude());
    sb.append("\nradius : ");
    sb.append(location.getRadius());
    SharedPreferenceUtil.setLocation(String.valueOf(location.getLongitude()), String.valueOf(location.getLatitude()), "未知", "未知");
    Log.d("location", sb.toString());
    if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
        sb.append("\nspeed : ");
        sb.append(location.getSpeed());// 单位:公里每小时
        sb.append("\nsatellite : ");
        sb.append(location.getSatelliteNumber());
        sb.append("\nheight : ");
        sb.append(location.getAltitude());// 单位:米
        sb.append("\ndirection : ");
        sb.append(location.getDirection());// 单位度
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        sb.append("\ndescribe : ");
        sb.append("gps定位成功");
        SharedPreferenceUtil.setLocation(String.valueOf(location.getLongitude()),
                String.valueOf(location.getLatitude()),
                String.valueOf(location.getCity())+String.valueOf(location.getDistrict()),location.getAddrStr());

        Log.d("location", sb.toString());
        //Toast.makeText(SocialMainActivity.this, sb.toString(), Toast.LENGTH_LONG).show();
    } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        //运营商信息
        sb.append("\noperationers : ");
        sb.append(location.getOperators());
        sb.append("\ndescribe : ");
        sb.append("网络定位成功");
        //保存位置
        SharedPreferenceUtil.setLocation(String.valueOf(location.getLongitude()),
                String.valueOf(location.getLatitude()),
                String.valueOf(location.getCity())+String.valueOf(location.getDistrict()),location.getAddrStr());
        //Toast.makeText(MyApplication.mContext, sb.toString(),Toast.LENGTH_LONG).show();
        Log.d("SocialMainActivity", sb.toString());
    } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
        sb.append("\ndescribe : ");
        sb.append("离线定位成功,离线定位结果也是有效的");
        //Toast.makeText(MyApplication.mContext, sb.toString(), Toast.LENGTH_LONG).show();
    } else if (location.getLocType() == BDLocation.TypeServerError) {
        sb.append("\ndescribe : ");
        sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到[email protected],会有人追查原因");
        //Toast.makeText(MyApplication.mContext, sb.toString(),Toast.LENGTH_LONG).show();
    } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
        sb.append("\ndescribe : ");
        sb.append("网络不同导致定位失败,请检查网络是否通畅");
        //Toast.makeText(MyApplication.mContext, sb.toString(),Toast.LENGTH_LONG).show();
    } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
        sb.append("\ndescribe : ");
        sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
        //Toast.makeText(MyApplication.mContext, sb.toString(),Toast.LENGTH_LONG).show();
    }
    sb.append("\nlocationdescribe : ");
    sb.append(location.getLocationDescribe());// 位置语义化信息
    List<Poi> list = location.getPoiList();// POI数据
    if (list != null) {
        sb.append("\npoilist size = : ");
        sb.append(list.size());
        for (Poi p : list) {
            sb.append("\npoi= : ");
            sb.append(p.getId() + " " + p.getName() + " " + p.getRank());
            sb_points.append(p.getName()+"_");
        }

        SharedPreferenceUtil.setPoints(sb_points.toString());
    }
    Log.i("location", sb.toString());
    SharedPreferenceUtil.setLocation(String.valueOf(location.getLongitude()),
            String.valueOf(location.getLatitude()),
            String.valueOf(location.getCity()) + String.valueOf(location.getDistrict()),
            location.getAddrStr());

    //定位成功------------------------------------------------------------------------------
    //OkhttpUtil.pollServive(new Handler());
}
 
Example 3
Source File: WelcomeActivity.java    From Social with Apache License 2.0 4 votes vote down vote up
@Override
public void onReceiveLocation(BDLocation location) {
    Log.d("BaiduMapTestActivity", "error code : " + location.getLocType());
    //navigateTo(location);
    //Receive Location
    StringBuffer sb = new StringBuffer(256);
    StringBuffer sb_points = new StringBuffer();
    sb.append("time : ");
    sb.append(location.getTime());
    sb.append("\nerror code : ");
    sb.append(location.getLocType());
    sb.append("\nlatitude : ");
    sb.append(location.getLatitude());
    sb.append("\nlontitude : ");
    sb.append(location.getLongitude());
    sb.append("\nradius : ");
    sb.append(location.getRadius());
    SharedPreferenceUtil.setLocation(String.valueOf(location.getLongitude()), String.valueOf(location.getLatitude()), "未知", "未知");
    Log.d("SocialMainActivity", sb.toString());
    if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
        sb.append("\nspeed : ");
        sb.append(location.getSpeed());// 单位:公里每小时
        sb.append("\nsatellite : ");
        sb.append(location.getSatelliteNumber());
        sb.append("\nheight : ");
        sb.append(location.getAltitude());// 单位:米
        sb.append("\ndirection : ");
        sb.append(location.getDirection());// 单位度
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        sb.append("\ndescribe : ");
        sb.append("gps定位成功");
        SharedPreferenceUtil.setLocation(String.valueOf(location.getLongitude()),
                String.valueOf(location.getLatitude()),
                String.valueOf(location.getCity())+String.valueOf(location.getDistrict()),location.getAddrStr());

        Log.d("SocialMainActivity", sb.toString());
        //Toast.makeText(SocialMainActivity.this, sb.toString(), Toast.LENGTH_LONG).show();
    } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        //运营商信息
        sb.append("\noperationers : ");
        sb.append(location.getOperators());
        sb.append("\ndescribe : ");
        sb.append("网络定位成功");
        //保存位置
        SharedPreferenceUtil.setLocation(String.valueOf(location.getLongitude()),
                String.valueOf(location.getLatitude()),
                String.valueOf(location.getCity())+String.valueOf(location.getDistrict()),location.getAddrStr());
        //Toast.makeText(WelcomeActivity.this, sb.toString(),Toast.LENGTH_LONG).show();
        Log.d("SocialMainActivity", sb.toString());
    } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
        sb.append("\ndescribe : ");
        sb.append("离线定位成功,离线定位结果也是有效的");
        //Toast.makeText(WelcomeActivity.this, sb.toString(), Toast.LENGTH_LONG).show();
    } else if (location.getLocType() == BDLocation.TypeServerError) {
        sb.append("\ndescribe : ");
        sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到[email protected],会有人追查原因");
        //Toast.makeText(WelcomeActivity.this, sb.toString(),Toast.LENGTH_LONG).show();
    } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
        sb.append("\ndescribe : ");
        sb.append("网络不同导致定位失败,请检查网络是否通畅");
        //Toast.makeText(WelcomeActivity.this, sb.toString(),Toast.LENGTH_LONG).show();
    } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
        sb.append("\ndescribe : ");
        sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
        //Toast.makeText(WelcomeActivity.this, sb.toString(),Toast.LENGTH_LONG).show();
    }
    sb.append("\nlocationdescribe : ");
    sb.append(location.getLocationDescribe());// 位置语义化信息
    List<Poi> list = location.getPoiList();// POI数据
    if (list != null) {
        sb.append("\npoilist size = : ");
        sb.append(list.size());
        for (Poi p : list) {
            sb.append("\npoi= : ");
            sb.append(p.getId() + " " + p.getName() + " " + p.getRank());
            sb_points.append(p.getName()+"_");
        }

        SharedPreferenceUtil.setPoints(sb_points.toString());
    }
    Log.i("BaiduLocationApiDem", sb.toString());
    SharedPreferenceUtil.setLocation(String.valueOf(location.getLongitude()),
            String.valueOf(location.getLatitude()),
            String.valueOf(location.getCity()) + String.valueOf(location.getDistrict()),
            location.getAddrStr());

    //OkhttpUtil.pollServive(handler);
    //Toast.makeText(WelcomeActivity.this,"SharedPreferenceUtil.getAddress() = " + SharedPreferenceUtil.getAddress(), Toast.LENGTH_LONG).show();
    Log.d("location", "address = " + SharedPreferenceUtil.getAddress());
    //定位成功------------------------------------------------------------------------------
}
 
Example 4
Source File: MyLocationListener.java    From AndroidAnimationExercise with Apache License 2.0 4 votes vote down vote up
@Override
public void onReceiveLocation(BDLocation location) {
    //Receive Location
    StringBuffer sb = new StringBuffer(256);
    sb.append("time : ");
    sb.append(location.getTime());
    sb.append("\nerror code : ");
    sb.append(location.getLocType());
    sb.append("\nlatitude : ");
    sb.append(location.getLatitude());
    sb.append("\nlontitude : ");
    sb.append(location.getLongitude());
    sb.append("\nradius : ");
    sb.append(location.getRadius());
    if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
        sb.append("\nspeed : ");
        sb.append(location.getSpeed());// 单位:公里每小时
        sb.append("\nsatellite : ");
        sb.append(location.getSatelliteNumber());
        sb.append("\nheight : ");
        sb.append(location.getAltitude());// 单位:米
        sb.append("\ndirection : ");
        sb.append(location.getDirection());// 单位度
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        sb.append("\ndescribe : ");
        sb.append("gps定位成功");

    } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        //运营商信息
        sb.append("\noperationers : ");
        sb.append(location.getOperators());
        sb.append("\ndescribe : ");
        sb.append("网络定位成功");
    } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
        sb.append("\ndescribe : ");
        sb.append("离线定位成功,离线定位结果也是有效的");
    } else if (location.getLocType() == BDLocation.TypeServerError) {
        sb.append("\ndescribe : ");
        sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到[email protected],会有人追查原因");
    } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
        sb.append("\ndescribe : ");
        sb.append("网络不同导致定位失败,请检查网络是否通畅");
    } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
        sb.append("\ndescribe : ");
        sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
    }
    sb.append("\nlocationdescribe : ");
    sb.append(location.getLocationDescribe());// 位置语义化信息
    List<Poi> list = location.getPoiList();// POI数据
    if (list != null) {
        sb.append("\npoilist size = : ");
        sb.append(list.size());
        for (Poi p : list) {
            sb.append("\npoi= : ");
            sb.append(p.getId() + " " + p.getName() + " " + p.getRank());
        }
    }
    Log.e("BaiduLocationApiDem", sb.toString());
}
 
Example 5
Source File: LocationFragment.java    From foodie-app with Apache License 2.0 4 votes vote down vote up
@Override
public void onReceiveLocation(BDLocation location) {
    mLocation = location.getAddrStr();
    PrefUtils.set("user", "location", mLocation, getActivity().getBaseContext());
    //Receive Location
    StringBuffer sb = new StringBuffer(256);
    sb.append("time : ");
    sb.append(location.getTime());
    sb.append("\nerror code : ");
    sb.append(location.getLocType());
    sb.append("\nlatitude : ");
    sb.append(location.getLatitude());
    sb.append("\nlontitude : ");
    sb.append(location.getLongitude());
    sb.append("\nradius : ");
    sb.append(location.getRadius());
    if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
        sb.append("\nspeed : ");
        sb.append(location.getSpeed());// 单位:公里每小时
        sb.append("\nsatellite : ");
        sb.append(location.getSatelliteNumber());
        sb.append("\nheight : ");
        sb.append(location.getAltitude());// 单位:米
        sb.append("\ndirection : ");
        sb.append(location.getDirection());// 单位度
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        sb.append("\ndescribe : ");
        sb.append("gps定位成功");
    } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        //运营商信息
        sb.append("\noperationers : ");
        sb.append(location.getOperators());
        sb.append("\ndescribe : ");
        sb.append("网络定位成功");
    } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
        sb.append("\ndescribe : ");
        sb.append("离线定位成功,离线定位结果也是有效的");
    } else if (location.getLocType() == BDLocation.TypeServerError) {
        sb.append("\ndescribe : ");
        sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到[email protected],会有人追查原因");
    } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
        sb.append("\ndescribe : ");
        sb.append("网络不同导致定位失败,请检查网络是否通畅");
    } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
        sb.append("\ndescribe : ");
        sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
    }
    sb.append("\nlocationdescribe : ");
    sb.append(location.getLocationDescribe());// 位置语义化信息
    List<Poi> list = location.getPoiList();// POI数据
    if (list != null) {
        sb.append("\npoilist size = : ");
        sb.append(list.size());
        for (Poi p : list) {
            sb.append("\npoi= : ");
            sb.append(p.getId() + " " + p.getName() + " " + p.getRank());
        }
    }
    Log.i("BaiduLocationApiDem", sb.toString());
}
 
Example 6
Source File: MapActivity.java    From foodie-app with Apache License 2.0 4 votes vote down vote up
@Override
public void onReceiveLocation(BDLocation location) {
    mLocation = location;
    PrefUtils.set("user", "location", mLocation.getAddrStr(), MapActivity.this.getBaseContext());
    //Receive Location
    StringBuffer sb = new StringBuffer(256);
    sb.append("time : ");
    sb.append(location.getTime());
    sb.append("\nerror code : ");
    sb.append(location.getLocType());
    sb.append("\nlatitude : ");
    sb.append(location.getLatitude());
    sb.append("\nlontitude : ");
    sb.append(location.getLongitude());
    sb.append("\nradius : ");
    sb.append(location.getRadius());
    if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
        sb.append("\nspeed : ");
        sb.append(location.getSpeed());// 单位:公里每小时
        sb.append("\nsatellite : ");
        sb.append(location.getSatelliteNumber());
        sb.append("\nheight : ");
        sb.append(location.getAltitude());// 单位:米
        sb.append("\ndirection : ");
        sb.append(location.getDirection());// 单位度
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        sb.append("\ndescribe : ");
        sb.append("gps定位成功");
        mLocationView.setText(location.getAddrStr());
        startLocationOverlap();//开启我的位置图层
    } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
        sb.append("\naddr : ");
        sb.append(location.getAddrStr());
        //运营商信息
        sb.append("\noperationers : ");
        sb.append(location.getOperators());
        sb.append("\ndescribe : ");
        sb.append("网络定位成功");
        mLocationView.setText(location.getAddrStr());
        startLocationOverlap();//开启我的位置图层
    } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
        sb.append("\ndescribe : ");
        sb.append("离线定位成功,离线定位结果也是有效的");
    } else if (location.getLocType() == BDLocation.TypeServerError) {
        sb.append("\ndescribe : ");
        sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到[email protected],会有人追查原因");
        mLocationView.setText("网络定位失败");
    } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
        sb.append("\ndescribe : ");
        sb.append("网络不同导致定位失败,请检查网络是否通畅");
        mLocationView.setText("检查网络是否畅通");
    } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
        sb.append("\ndescribe : ");
        sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
        mLocationView.setText("您的手机无法定位");
    }
    sb.append("\nlocationdescribe : ");
    sb.append(location.getLocationDescribe());// 位置语义化信息
    List<Poi> list = location.getPoiList();// POI数据
    if (list != null) {
        sb.append("\npoilist size = : ");
        sb.append(list.size());
        for (Poi p : list) {
            sb.append("\npoi= : ");
            sb.append(p.getId() + " " + p.getName() + " " + p.getRank());
        }
    }
    Log.i("BaiduLocationApiDem", sb.toString());
    if (restaurantInfo != null) {
        search(restaurantInfo.getRestaurantName(), 1);
        mLocationView.setText("商家位置:" + restaurantInfo.getAddress());
    }
}