云服务器内容精选

  • 调试选项 loglevel:UPDATE|INFO|WARNING|ASSERT|EXCEPTION|ERROR|NONE 日志级别左边包含右边的日志信息,即UPDATE级别会打印所有日志信息,使用该字段会打印HTDebug的日志,并写日志到此文件的上一级文件目录。NONE表示不保存log。 debugger_ctrl_switch:ON|OFF 是否在日志中显示调试面板,只对HTAppUIType中mNativeAppIds包含的应用包名有效。 fixed_location_switch:ON|OFF 是否使用自定义的固定位置。 longitude 经度,填写固定位置经纬的值,只在“fixed_location_switch”为“ON”时有效。 latitude 纬度,填写固定位置纬度的值,只在“fixed_location_switch”为“ON”时有效。
  • 开发概述 HTSDK是接入KooMap AR地图运行服务的端侧SDK,助力于快速构建真实和虚拟融合世界。HTFoundation是适配HTSDK的示例代码,供用户在Unity3D中开发业务。 HTFoundation示例实现了真实世界构建、世界位姿定位和跟踪、虚实世界呈现。基于HTFoundation示例,用户可构建虚拟世界,包括虚拟对象设计、行为设计实现和业务逻辑开发。 图1 工作原理 父主题: HTSDK使用手册
  • API列表 WebARSDK封装类名为“hwar”,所有API均直接通过类“hwar”来调用,无需实例化。 本章节所指的GPS坐标系为WGS84坐标系。 utmCode指UTM(UNIVERSAL TRANSVERSE MERCARTOR GRID SYSTEM,通用横墨卡托格网系统)投影带号。 图像流约束:宽:高=480:640,您需根据实际情况自行适配设备屏幕尺寸。 参数类型使用了TypeScript语言的声明规范。 视觉定位 空间位置追踪与渲染 导航 事件管理 SDK内部派发事件 父主题: WebARSDK使用手册
  • 坐标系转换 SDK提供了UTM坐标与渲染引擎(如Three.js、LayaAir)坐标之间的转换方法。 // UTM坐标转成渲染坐标 let vecInit = hwar.utm2Render([utm.x, utm.y, utm.z]); // 渲染坐标转成UTM坐标 let renderPosUtm = hwar.render2Utm([render.x, render.y, render.z]);
  • 无法进行视觉定位原因排查 如果您无法进行视觉定位,建议您排查以下问题: 检查是否竖屏正向手持设备。 侦听事件“LANDSCAPE_BY_ROLL”检查当前屏幕是否竖屏。 侦听事件“ORIENTATION_NORMAL”检查屏幕正向状态。 验证视觉定位效果时,您需竖屏正向手持设备扫描周边环境。 检查定位区域是否在地图服务范围内。 按“F12”打开DevTools,在“Network”页签中查看“vps”的状态码。如果状态码为“400”,请在“Response”页签中查看“error_msg”内容,如显示“access denied, out of your service zone”,则表示位置不在您的地图服务范围。
  • 环境要求 已安装配置NodeJS环境。 已安装代码编辑器,如Visual Studio Code。 已安装Web服务器,如http-server、VSCode插件live-server、Tomcat等。 Windows系统电脑已安装Chrome浏览器或基于Chromium内核的浏览器(例如Edge);Mac系统电脑已安装Safari浏览器。 移动设备已配置后置摄像头、陀螺仪、加速度传感器、GPS芯片等器件。 移动设备已安装支持WebRTC浏览器,如Chrome、Safari、华为浏览器等。
  • 总体开发思路 使用WebARSDK开发移动端应用的工作流程如图1所示。 图1 工作流程 准备工作。 下载WebARSDK、收集AK/SK信息、开通关联服务。 创建H5移动端工程。 使用原生或者流行框架(如Vue、React)创建H5移动端工程。 引入WebARSDK文件。 下载、解压WebARSDK包,并将下载WebARSDK包放入工程目录,通过外部引入脚本的方式引入WebARSDK文件。 验证租户身份信息。 通过hwar.setAKSK方法将AK/SK传入SDK,验证租户身份信息。 开启AR会话。 获取图像及传感器数据,初始化SLAM,准备相关环境。 实现AR导航和渲染3D内容。 依靠视觉定位,获取当前设备位置,以及请求导航路径,实现空间位置追踪导航;开发者基于SDK输出的图像数据、相机矩阵、路径信息,实现3D数字内容渲染。 父主题: WebARSDK使用手册
  • WebARSDK简介 WebARSDK是一款轻量化JS-SDK,支持租户通过SDK快速集成和使用KooMap AR地图运行服务,开放能力的内存增加不大于3MB,运行时不依赖于Native App,可通过主流Web浏览器平台、主流终端设备的App内嵌WebView,实现WebAR体验。 WebARSDK提供的API,可以将用户、空间及数字内容连接在一起 ,达到厘米级的定位能力和1度以内的定姿能力,实现随时随地高精度的空间计算。在AR地图覆盖区域,用户可进行3D实景步行导引,无需担心GPS信号弱的环境。
  • 状态码 常用状态码请参见表1。 表1 请求状态返回码 状态码 描述 说明 200 OK 服务器已成功处理了请求。 400 Bad Request 非法请求。 建议直接修改该请求,不要重试该请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 500 Internal Server Error 服务端能被请求访问到,但是不能理解用户的请求。 父主题: 附录
  • 响应消息体(可选) 该部分可选。响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-Type对应,传递除响应消息头之外的内容。 对于创建工作共享空间接口,返回如下消息体。 { "workspace_id" : "aa78047c2e22408597dbeb2d33295720", "workspace_name" : "工作空间名称", "creator" : "user", "create_time" : "2022-11-07T08:28:05Z", "workspace_description" : "这是描述", "star" : 0 } 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_code" : "KMP.00011004", "error_msg" : "请求参数不合法" } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • AK/SK认证 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参考API签名指南。 AK/SK签名认证方式对于支持消息体的大小有限制,为了让您拥有更好的体验,推荐您使用WebARSDK。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前KooMap所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,当前KooMap只在“华北-北京四”部署,Endpoint为“koomap.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“创建工作共享空间”API的resource-path为“/v1/workspaces”。 query-string 可选参数,用于查询指定参数数据。设置查询参数时,查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要获取KooMap在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(koomap.cn-north-4.myhuaweicloud.com),并在创建工作共享空间的URI部分找到resource-path(/v1/workspaces),拼接起来如下所示。 https://koomap.cn-north-4.myhuaweicloud.com/v1/workspaces 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 POST 请求服务器新增资源或执行non-CRUD操作。 DELETE 请求服务器删除指定资源,如删除对象等。 PUT 请求服务器更新指定资源。 在创建工作共享空间的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://koomap.cn-north-4.myhuaweicloud.com/v1/workspaces
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Content-Type 消息体的类型(格式),当前只支持application/json。 是 application/json X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 是 使用Token认证时该字段必选。 注:以下仅为Token示例片段 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于创建工作共享空间接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示。 POST https://koomap.cn-north-4.myhuaweicloud.com/v1/workspaces Content-Type: application/json X-Auth-Token:xxxxxxxx { "workspace_name" : "工作共享空间名称", "workspace_description" : "这是描述" } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。