(以“== AR景区 == 地图AR SDK提供景区内AR展示接口,开发者传递景区uid信息,就可以直接使用地图景区内POI数据,地图AR SDK会根据使...”为内容创建页面) |
|||
第1行: | 第1行: | ||
+ | {{androidarsdk-sidebar}} | ||
+ | |||
+ | {{androidarsdk-sidebar}} | ||
+ | |||
== AR景区 == | == AR景区 == | ||
2018年10月31日 (三) 20:29的版本
AR景区
地图AR SDK提供景区内AR展示接口,开发者传递景区uid信息,就可以直接使用地图景区内POI数据,地图AR SDK会根据使用者当前位置,进行AR展示。 若使用者在景区内,会展示景区内的各子景点信息,若开发者在景区外,会展示整个景点信息。
示例代码如下:
// 获取地图ArSdkManager管理类 ArSdkManager mArSdkManager = ArSdkManager.getInstance(); // 传递景区uid mArSdkManager.searchSceneryInfo("2a7a25ecf9cf13636d3e1bad"); // 调用类实现OnGetDataResultListener监听,用于接地图ArSdk回调数据信息 /** * 返回景区数据,跳转到景区Activity * @param arSceneryResponse */ @Override public void onGetSceneryResult(ArSceneryResponse arSceneryResponse) { } // 获取景区信息后跳转到景区展示Activity,展现Activity实现传感器监听,进行渲染 private class HoldPositionListenerImp implements SimpleSensor.OnHoldPositionListener { @Override public void onOrientationWithRemap(float[] remapValue) { if (mCamGLView != null && mInfo != null) { if (mInfo.getIsInAoi() && mInfo.getSon() != null && mInfo.getSon() .size() > 0) { // 在景区则传入子点集合 mCamGLView.setScenerySensorState(remapValue, getLayoutInflater(), mArPoiItemRl, SceneryArActivity.this, mInfo.getSon(), SceneryArActivity.this); mInfo.getFather().setShowInAr(false); } else { // 不在景区则传入父点 ArrayList<ArPoiScenery> father = new ArrayList<>(); mInfo.getFather().setShowInAr(true); father.add(mInfo.getFather()); for (int i = 0; i < mInfo.getSon().size(); i++) { mInfo.getSon().get(i).setShowInAr(false); } mCamGLView.setScenerySensorState(remapValue, getLayoutInflater(), mArPoiItemRl, SceneryArActivity.this, father, SceneryArActivity.this); } } } }
效果展示如下: