1、 null
2、 启动Unity,创建新项目,操作步骤所示。
3、 在场景中创建一个画布,设置一张图片作为背景,添加一个按钮以及两个文本框,用于显示获取的经纬度信息及两点间距离,效果所示。
4、 保存场景后,在工程中创建新脚本,双击打开并编写代码以获取经纬度信息,同时实现两点间距离的计算,具体操作所示。
5、 编写代码获取当前位置经纬度及距离信息,具体实现所示。
6、 接着计算当前位置与目标位置间的距离,具体算法所示。
7、 脚本代码如下所示
8、 首次设定位置
9、 {
10、 }
11、 点击按钮更新当前位置信息
12、 {
13、 测算距离
14、 当前位置到坐标22.72555, 114.2108的距离为:加上实际测距数值。
15、 }
16、 停止定位刷新以节省手机电量
17、 {
18、 }
19、 {
20、 通过Input.location可获取手持设备的地理位置信息,该属性为静态的位置服务,用于访问设备当前位置数据。
21、 检查用户是否在设置中开启了定位服务功能。
22、 {
23、 }
24、 启动位置服务更新,系统将获取当前位置坐标并持续跟踪,最后一次记录的位置信息会被保留使用。
25、 {
26、 暂停协程执行一秒钟
27、 }
28、 {
29、 }
30、 {
31、 }
32、 {
33、 }
34、 }
35、 计算两个经纬度坐标之间的距离
36、 计算两个位置点之间的距离,结果以米为单位返回。
37、 此公式由谷歌提供,定位误差不超过0.2米。
38、 第一个点的纬度坐标,用于地理计算中的位置标识。
39、 参数 lng1 表示第一个点的经度值,用于地理坐标计算中的经度输入。
40、 第二点的纬度值,用于计算两点间的地理距离或方位。
41、 第二个点的经度值,用于地理坐标计算中的位置确定。
42、 {
43、 }
44、 经纬度转换为弧度表示
45、 {
46、 }
47、 }
48、 脚本正确编译后,返回Unity界面,将其挂载至摄像机,并将相应Text赋值给脚本,同时为按钮添加updateGps函数,具体操作所示。
49、 将应用导出为iOS或Android版本并安装至手机,点击刷新信息按钮,即可获取当前位置的经纬度,并自动计算两地间距离,详情见下图所示。
50、 若在iOS导出时未显示地理位置,可在Build前进入Player Settings,填写Location Usage Description字段以启用定位权限,具体设置方式所示。确保描述清晰,以便系统正确识别并请求用户授权位置信息访问。
51、 至此,关于快速计算两个经纬度间距离的Unity实用教程已全部分享完毕,感谢阅读与支持。
