Vision SDK for Android教程(二)AR navigation (三)Safety alerts

2024-06-08 04:38

本文主要是介绍Vision SDK for Android教程(二)AR navigation (三)Safety alerts,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AR navigation

Mapbox Vision AR for Android 是在Mapbox Vision SDK for Android基础上的高级框架,Vision AR管理导航路线,转换到核心库,然后在相机上渲染AR导航。

Route line

为了在路上生成轨迹线,首先要产生轨迹线。你可以使用Mapbox Navigation SDK来创建一个对Maobox Directions API来使用导航引擎。如果你想在Android中使用Mapbox Navigation sdk,你需要将其加入到模块中。

下面这个例子在NavigationRoute.Builder类中使用Mapbox Navigation SDK来创建一个Mapbox Directions API。请求是一个NavigationRoute对象,你可以用来在地图上展示轨迹和导航轨迹,通过Route generation guide(https://docs.mapbox.com/android/navigation/overview/route-generation/)来获取 更多信息。

使用VisionArManager's setRoute 方法来在Vision AR View中产生轨迹线。


VisionArManager.setRoute(new Route(getRoutePoints(route),(float) routeProgress.durationRemaining(),"Source street name","Target street name"
));

默认是使用实体蓝线显示轨迹,可以自由定制。用VisionArView.setLaneVisualParams来改变颜色、宽度、线坐标、颜色、氛围颜色。

Safety alerts

开发者可以创建要素用来提醒和警示驾驶者关于道路情况和潜在危害,这是一个增强模块,通过VisionSDK传递的信息进行分析、探测和分类。

Monitor speed limits

开发者可以控制速度限制和其他关键的信号分类,当探测到车辆速度大于上个观测速度,你可以设置报警。

有两方面来展示速度报警:探测速度限制标志和探测当前车速。

Sign detection

VisionSafetyListener来观测速度限制标志来决定用户当前位置的最大限速。决定最大限速是通过探测最大限速标志来更新maxAllowedSpeed的值,直到遇到下一个最大限速值,继续更新。


@Override
public void onRoadRestrictionsUpdated(@NotNull RoadRestrictions roadRestrictions) {maxAllowedSpeed = roadRestrictions.getSpeedLimits().getCar().getMax();
}

然后,你可以用Vision SDK的VehicleLocation类的speed属性来决定速度,再通过一些逻辑来决定用户速度是否超过最大限速并展示报警信息。

// current speed of the car
Float mySpeed = vehicleState.getSpeed();
// display toast with overspeed warning if the car's
// speed is greater than maximum allowed speed
if (mySpeed > maxAllowedSpeed && maxAllowedSpeed > 0) {Toast.makeText(MainActivity.this,"Overspeeding! Current speed : " + mySpeed +", allowed speed : " + maxAllowedSpeed,Toast.LENGTH_LONG).show();
}

可在这个网站:https://docs.mapbox.com/android/vision/examples/speeding-alerts/查看详细信息。

Alert drivers of pedestrians and cyclists

Vision Safety CollisionObject 类用来探测车辆行车路线上物体,并且提供一个预碰撞的范围在0-2之间危险等级CollisionDangerLevel,碰撞检测可以警示驾驶者当行人和骑行者在车辆前进路线。

 

 

这篇关于Vision SDK for Android教程(二)AR navigation (三)Safety alerts的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041220

相关文章

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统