opt
This commit is contained in:
@@ -5,19 +5,30 @@ import android.util.Log;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.mogo.cloud.commons.network.RetrofitFactory;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClient;
|
||||
import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback;
|
||||
import com.mogo.cloud.tanlu.api.ITanluUploadCallback;
|
||||
import com.mogo.cloud.tanlu.bean.InformationBody;
|
||||
import com.mogo.cloud.tanlu.bean.RoadInfoRequest;
|
||||
import com.mogo.cloud.tanlu.bean.RoadInfos;
|
||||
import com.mogo.cloud.tanlu.bean.UploadResult;
|
||||
import com.mogo.cloud.tanlu.bean.location.Location;
|
||||
import com.mogo.cloud.tanlu.bean.location.MogoLocation;
|
||||
import com.mogo.cloud.tanlu.net.TanluApiService;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClient;
|
||||
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.network.RequestOptions;
|
||||
import com.mogo.utils.network.utils.GsonUtil;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.ObservableEmitter;
|
||||
import io.reactivex.ObservableOnSubscribe;
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.functions.Function;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
/**
|
||||
@@ -94,8 +105,153 @@ public class UploadManager {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过经纬度信息查询 TanluModelData
|
||||
* @param roadInfoRequest
|
||||
* @param callback
|
||||
*/
|
||||
public void queryRoadInfoByLocationInfo(RoadInfoRequest roadInfoRequest, IRoadInfoSearchCallback callback) {
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("sn", "F803EB2046PZD00228");
|
||||
map.put("data", GsonUtil.jsonFromObject(roadInfoRequest));
|
||||
|
||||
apiService.queryRoadInfos(map)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<RoadInfos>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Log.d(TAG, "queryRoadInfos onSubscribe ----");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull RoadInfos roadInfos) {
|
||||
Log.d(TAG, "queryRoadInfos onNext roadInfos----" + roadInfos.getData());
|
||||
callback.onSuccess(roadInfos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Log.d(TAG, "queryRoadInfos onError ----");
|
||||
callback.onError(e);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.d(TAG, "queryRoadInfos onComplete ----");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// public void queryRoadInfoByCity(InformationBody informationBody, ITanluUploadCallback callback) {
|
||||
//
|
||||
// if (voiceCmdData.isHere()) { //TanluModelData
|
||||
// // 搜索附近路况,只需要拿到当前位置信息,就可以请求服务端
|
||||
// MogoLocation l = TanluServiceManager.getServiceApis().getMapServiceApi().getSingletonLocationClient(mContext).getLastKnowLocation();
|
||||
// Location location = new Location(l.getLatitude(), l.getLongitude());
|
||||
// RoadInfoRequest request;
|
||||
// if (voiceCmdData.getObj().equals(TYPE_NAME_BLOCK)) {
|
||||
// // 拥堵和路况同时查
|
||||
// request = new RoadInfoRequest(location, new String[]{TANLU_ROAD_CONGESTION_COMPAT, TANLU_ROAD_CURRENT}, false, false);
|
||||
// }else{
|
||||
// request = new RoadInfoRequest(location, new String[]{voiceCmdData.getType()}, false, false);
|
||||
// }
|
||||
//
|
||||
// Map<String, Object> map = new HashMap<>();
|
||||
// map.put("sn", "F803EB2046PZD00228");
|
||||
// map.put("data", "GsonUtil.jsonFromObject(request)");
|
||||
//
|
||||
// apiService.queryRoadInfos(map)
|
||||
// .subscribeOn(Schedulers.io())
|
||||
// .observeOn(AndroidSchedulers.mainThread())
|
||||
// .subscribe(new Observer<RoadInfos>() {
|
||||
// @Override
|
||||
// public void onSubscribe(@NonNull Disposable d) {
|
||||
// Log.d(TAG, "queryRoadInfos onSubscribe ----");
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onNext(@NonNull RoadInfos roadInfos) {
|
||||
// Log.d(TAG, "queryRoadInfos onNext roadInfos----" + roadInfos.getData());
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onError(@NonNull Throwable e) {
|
||||
// Log.d(TAG, "queryRoadInfos onError ----");
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onComplete() {
|
||||
// Log.d(TAG, "queryRoadInfos onComplete ----");
|
||||
// }
|
||||
// });
|
||||
// } else {
|
||||
// // 查询的不是附近的信息,所以需要查询一下目标地址的经纬度,然后再请求服务端
|
||||
// Observable.create(new ObservableOnSubscribe<MogoPoiResult>() {
|
||||
// @Override
|
||||
// public void subscribe(ObservableEmitter<MogoPoiResult> emitter) throws Exception {
|
||||
// // 根据传入的地址,转成经纬度
|
||||
// IMogoMapService mapService = TanluServiceManager.getServiceApis().getMapServiceApi();
|
||||
// String cityCode = mapService.getSingletonLocationClient(mContext).getLastKnowLocation().getCityCode();
|
||||
// MogoPoiSearchQuery poiSearchQuery = new MogoPoiSearchQuery(voiceCmdData.getLocation(), "", cityCode);
|
||||
// IMogoPoiSearch poiSearch = mapService.getPoiSearch(mContext, poiSearchQuery);
|
||||
// MogoPoiResult result = poiSearch.searchPOI();
|
||||
// if (result != null && result.getPois() != null && result.getPois().size() > 0) {
|
||||
// emitter.onNext(result);
|
||||
// } else {
|
||||
// emitter.onError(new IllegalArgumentException("没有根据地址查询到对应的经纬度"));
|
||||
// }
|
||||
// }
|
||||
// }).subscribeOn(Schedulers.io()).observeOn(Schedulers.io())
|
||||
// .flatMap(new Function<MogoPoiResult, Observable<BaseDataCompat<RoadInfos>>>() {
|
||||
// @Override
|
||||
// public Observable<BaseDataCompat<RoadInfos>> apply(MogoPoiResult mogoPoiResult) throws Exception {
|
||||
// // 转成经纬度后,整理参数,进行接口请求
|
||||
// Logger.d(TAG, "查询目标地址经纬度成功===" + Thread.currentThread().getName());
|
||||
// MogoPoiItem poiItem = mogoPoiResult.getPois().get(0);
|
||||
// Location location = new Location(poiItem.getPoint().lat, poiItem.getPoint().lon);
|
||||
// callback.onLocatSuccess(location.getLat(), location.getLon());
|
||||
// RoadInfoRequest request;
|
||||
// if (voiceCmdData.getObj().equals(TYPE_NAME_BLOCK)) {
|
||||
// // 拥堵和路况同时查
|
||||
// request = new RoadInfoRequest(location, new String[]{TANLU_ROAD_CONGESTION_COMPAT, TANLU_ROAD_CURRENT}, false, false);
|
||||
// }else{
|
||||
// request = new RoadInfoRequest(location, new String[]{voiceCmdData.getType()}, false, false);
|
||||
// }
|
||||
//
|
||||
// Map<String, Object> params = new ParamsProvider.Builder(mContext)
|
||||
// .append("sn", Utils.getSn())
|
||||
// .append("data", GsonUtil.jsonFromObject(request))
|
||||
// .build();
|
||||
// return mShareApiService.queryRoadInfos(params);
|
||||
// }
|
||||
// }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
|
||||
// .subscribe(new SubscribeImpl<BaseDataCompat<RoadInfos>>(RequestOptions.create(mContext)) {
|
||||
// @Override
|
||||
// public void onError(Throwable e) {
|
||||
// super.onError(e);
|
||||
// callback.onQueryRoadInfoFail(e.getMessage(), -1);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onSuccess(BaseDataCompat<RoadInfos> o) {
|
||||
// super.onSuccess(o);
|
||||
// Logger.d(TAG, "当前线程为"+Thread.currentThread().getName()+" 搜索目标地址路况信息成功: " + o);
|
||||
// callback.onQueryRoadInfoSuccess(o.getResult().getData());
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onError(String message, int code) {
|
||||
// super.onError(message, code);
|
||||
// callback.onQueryRoadInfoFail(message, code);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -55,4 +55,13 @@ public class RoadInfoRequest {
|
||||
this.onlySameCity = onlySameCity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "RoadInfoRequest{" +
|
||||
"location=" + location +
|
||||
", poiTypes=" + poiTypes +
|
||||
", onlyFocus=" + onlyFocus +
|
||||
", onlySameCity=" + onlySameCity +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import java.util.List;
|
||||
* @description
|
||||
* @since 2021/1/20
|
||||
*/
|
||||
public class RoadInfos {
|
||||
public class RoadInfos{
|
||||
|
||||
private List<MarkerExploreWay> data;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user