2021-08-17 H5简单获取地理位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-08-17 H5简单获取地理位置相关的知识,希望对你有一定的参考价值。
参考技术A window对象下的navigator对象有一个geolocation属性对象,此对象原型链上有一个getCurrentPosition()方法,此方法可唤起地理位置授权弹窗(获取地理位置是需要用户授权的)。1、需要先判断用户浏览器是否支持该功能,目前大多数浏览器支持:
2、getCurrentPosition()方法有2个回调参数,第一个是用户同意授权且成功获取到位置的回调,第二个是授权失败或未成功获取到位置的回调:
location参数字段说明:
err参数字段说明:
注:也能看到err对象原型链上有PERMISSION_DENIED、POSITION_UNAVAILABLE、TIMEOUT三个属性,它们的值分别对应上述3种情况。
3、拿到自己想要的地理位置后,可以通过获取到的经纬度查看具体的定位信息,参考 https://www.cnblogs.com/cangqinglang/p/10833677.html
4、另外,getCurrentPosition()方法还有第3个参数json,是一些可选属性,有兴趣的可以去看看。
获取调用程序的原始位置[重复]
【中文标题】获取调用程序的原始位置[重复]【英文标题】:Get the original location where the program is called [duplicate] 【发布时间】:2016-05-16 12:46:46 【问题描述】:有没有办法知道程序最初在 C 中生成的目录?我希望我的程序知道它在计算机中的位置。我已经尝试在direct.h
中使用_getcwd()
。我还使用unistd.h
尝试了getcwd()
。但这就是问题所在。如果我在我的程序目录中添加了一个 PATH,函数 _getcwd()
和 getcwd()
path 将返回我调用程序的路径。因此,如果我在 dekstop 中运行程序,它将返回桌面的路径。我已经尝试过使用this 方法,但它不能解决问题。它返回调用路径的值。我想知道使用什么函数来知道程序的路径,而不是程序被调用的路径。
我应该使用什么功能?
【问题讨论】:
之前已经尝试过这些方法。它返回的是调用它的路径,而不是被调用程序的原始路径。 【参考方案1】:当前的工作目录没有任何用处。除了巧合之外,可执行映像在文件系统中的位置与当前工作目录之间没有任何联系。
您可以通过调用_get_wpgmptr(Visual Studio 附带的 Microsoft 特定的 CRT 扩展)或 GetModuleFileName(为 hModule 传递 NULL
来检索可执行文件的完全限定路径>),然后通过调用PathRemoveFileSpec(或PathCchRemoveFileSpec,Windows 8 及更高版本)提取路径。
【讨论】:
我使用的是 Windows 7。_get_wpgmptr()
出现了什么库?已经包含 stdlib.h
和 windows.h
但编译器显示:undefined reference to ' _get_wpgmptr'
。
@BryanJames:_get_wpgmptr()
是 Visual Studio 的 CRT 实现的一部分,因此您需要 #include <stdlib.h>
和使用 Visual Studio(或 Microsoft 编译器)。如果您使用不同的编译器,则可以改用 Windows API 调用 GetModuleFileName
。以上是关于2021-08-17 H5简单获取地理位置的主要内容,如果未能解决你的问题,请参考以下文章
获取定位,苹果IOS10以上不支持h5的geolocation获取不到地理位置信息解决办法