busStationList) {
+ if (busStationList == null) {
+ // todo 获取小巴数据失败
+ }else{
+ // todo 渲染小巴路线数据
+ }
+
+ }
+
+ public void hideOchBus() {
+ groupOchBus.setVisibility(View.GONE);
+ }
+
+ private void queryStationListIfNecessary(){
+ if (stationList == null || stationList.isEmpty()) {
+ mPresenter.queryBusRoutes();
+ }
+ }
+}
diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IOchBusApiService.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IOchBusApiService.java
new file mode 100644
index 0000000000..095d771541
--- /dev/null
+++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/net/IOchBusApiService.java
@@ -0,0 +1,29 @@
+package com.mogo.och.bus.net;
+
+import com.mogo.och.bus.bean.OchBusRoutesResponse;
+
+import io.reactivex.Observable;
+import okhttp3.RequestBody;
+import retrofit2.http.Body;
+import retrofit2.http.Headers;
+import retrofit2.http.POST;
+
+/**
+ * 小巴车相关接口
+ *
+ * @author tongchenfei
+ */
+public interface IOchBusApiService {
+
+ /**
+ * 根据车机坐标获取所在区域全部站点信息
+ *
+ * wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072
+ *
+ * @param requestBody 请求参数
+ * @return 接口返回数据
+ */
+ @Headers({"Content-Type:application/json;charset=UTF-8"})
+ @POST("/yycp-onlinecar-hailing/onlineCarHailing/site/querySiteByCoordinate/v1")
+ Observable querySiteByCoordinate(@Body RequestBody requestBody);
+}
diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java
new file mode 100644
index 0000000000..4bdc3d6838
--- /dev/null
+++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/OchBusPresenter.java
@@ -0,0 +1,76 @@
+package com.mogo.och.bus.presenter;
+
+import com.mogo.commons.mvp.Presenter;
+import com.mogo.commons.network.SubscribeImpl;
+import com.mogo.map.location.MogoLocation;
+import com.mogo.module.common.MogoApisHandler;
+import com.mogo.module.common.constants.HostConst;
+import com.mogo.och.bus.bean.OchBusRoutesRequest;
+import com.mogo.och.bus.bean.OchBusRoutesResponse;
+import com.mogo.och.bus.fragment.OchBusFragment;
+import com.mogo.och.bus.net.IOchBusApiService;
+import com.mogo.utils.logger.Logger;
+import com.mogo.utils.network.RequestOptions;
+import com.mogo.utils.network.utils.GsonUtil;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+import okhttp3.MediaType;
+import okhttp3.RequestBody;
+
+/**
+ * 网约车小巴
+ *
+ * @author tongchenfei
+ */
+public class OchBusPresenter extends Presenter {
+ private static final String TAG = "OchBusPresenter";
+ public OchBusPresenter(OchBusFragment view) {
+ super(view);
+ }
+
+ public void queryBusRoutes() {
+ double lat = 0;
+ double lon = 0;
+ MogoLocation lastLocation = MogoApisHandler.getInstance().getApis().getMapServiceApi().getSingletonLocationClient(getContext()).getLastKnowLocation();
+ if (lastLocation != null) {
+ lat = lastLocation.getLatitude();
+ lon = lastLocation.getLongitude();
+ }
+ OchBusRoutesRequest request = new OchBusRoutesRequest(lat,lon);
+ RequestBody requestBody = RequestBody.create(MediaType.get("application/json"), GsonUtil.jsonFromObject(request));
+ MogoApisHandler.getInstance().getApis().getNetworkApi()
+ .create(IOchBusApiService.class, HostConst.HAILING_HOST)
+ .querySiteByCoordinate(requestBody)
+ .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new SubscribeImpl(RequestOptions.create(getContext())) {
+
+ @Override
+ public void onSuccess(OchBusRoutesResponse o) {
+ super.onSuccess(o);
+ Logger.d(TAG, "获取到小巴路线数据: " + o);
+ if (mView != null) {
+ mView.refreshBusStations(o.getResult().getSiteData());
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ Logger.e(TAG,e,"获取小巴路线图失败");
+ if (mView != null) {
+ mView.refreshBusStations(null);
+ }
+ }
+
+ @Override
+ public void onError(String message, int code) {
+ super.onError(message, code);
+ Logger.e(TAG, "获取小巴路线失败 code: " + code + " msg: " + message);
+ if (mView != null) {
+ mView.refreshBusStations(null);
+ }
+ }
+ });
+ }
+}
diff --git a/OCH/mogo-och-bus/src/main/res/layout/fragment_och_bus.xml b/OCH/mogo-och-bus/src/main/res/layout/fragment_och_bus.xml
new file mode 100644
index 0000000000..d51a3e453d
--- /dev/null
+++ b/OCH/mogo-och-bus/src/main/res/layout/fragment_och_bus.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java
index 50f532fed1..142e28f4cf 100644
--- a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java
+++ b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java
@@ -96,7 +96,7 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListe
public HttpDnsSimpleLocation getCurrentLocation() {
HttpSimpleLocation simpleLocation = locationChanged.getLocation();
if (simpleLocation != null) {
- return new HttpDnsSimpleLocation("0734", simpleLocation.getLat(), simpleLocation.getLon());
+ return new HttpDnsSimpleLocation(simpleLocation.getCityCode(), simpleLocation.getLat(), simpleLocation.getLon());
}
return null;
}
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/HostConst.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/HostConst.java
index c18758f3c9..f2f4abe9a0 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/HostConst.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/HostConst.java
@@ -18,6 +18,7 @@ public class HostConst {
public static final String STRATEGY_PUSH_HOST = "http://dzt-strategyPush.zhidaozhixing.com";
public static final String TRAVEL_CONDITION_HOST = "http://dzt-travelCondition.zhidaozhixing.com";
public static final String TMC_HOST = "http://dzt-tmcServer.zhidaozhixing.com";
+ public static final String HAILING_HOST = "http://dzt-hailing.zhidaozhixing.com";
public static final String IM_SOCKET_DOMAIN = "dzt-im.zhidaozhixing.com";
public static final String WEBSOCKET_DOMAIN = "dzt-Instant.zhidaozhixing.com";
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java
index 4254a93618..9082dab01f 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java
@@ -467,6 +467,8 @@ public class TopViewAnimHelper {
/**
* 用于和{@link TopViewNoLinkageAnimHelper}互斥显示
+ *
+ * 网约车新增与网约车界面互斥
*/
public void removeAllViewExceptVrNav() {
Logger.d(TAG, "remove all view except vr nav");
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java
index eb3e21a46c..f7152a92a0 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewManager.java
@@ -141,4 +141,14 @@ public class TopViewManager implements IMogoTopViewManager {
return false;
}
}
+
+ @Override
+ public void removeAllViewInVrMode() {
+ try {
+ TopViewAnimHelper.getInstance().removeAllViewExceptVrNav();
+ TopViewNoLinkageAnimHelper.getInstance().removeAllView();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
index a5fa25e1ed..c57ef2c25b 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
@@ -315,7 +315,7 @@
android:id="@+id/groupTopViewDebug"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:visibility="gone"
+ android:visibility="visible"
app:constraint_referenced_ids="btnShowDrawableTipNoSize,btnShowDrawableTip,btnShowTextTip,btnDebugCtrlNaviView,btnDebugCtrlSubView,btnDebugCtrlTopView,btnDebugAddBottomLayerView" />