Cordova-Electron Windows商店UAP应用地理定位异常问题咨询
cordova-plugin-geolocation Electron/浏览器平台适配需求
项目背景
- 目标为完成定位插件的Electron/浏览器平台适配,当前插件在iOS、Android端运行正常
- 插件原Windows平台实现因依赖IE11已被废弃,需将Windows端定位能力迁移至Electron平台
- 现有iOS、Android、原Windows端均通过平台原生代码实现定位,Electron、浏览器端无法直接复用上述原生代码
- 业务场景仅需获取经纬度数据,无地图等附加功能需求,不需要也无法申请Google Maps API KEY:其余所有平台均不需要该密钥,受计费规则限制,不能为现有无密钥即可正常运行的产品申请该密钥
说明:配置Google Maps API密钥确实可以解决Electron端定位失效问题,但受计费限制该方案完全不可用
当前问题
- 纯Web应用场景下,可直接通过
navigator.geolocation.getCurrentPosition(callback);调用原生定位接口,用户授权定位服务后即可正常获取位置信息,但Web应用经Cordova/Electron打包后该接口直接失效,且当前无可用的Windows原生平台定位支持 - 官方文档明确提示,Electron默认自带的定位功能需要配置Google Maps API KEY才可正常使用
已尝试不可行的方案
以下方案均无法在当前Electron环境正常运行,且无法确认是否符合Windows商店上架规则:
- NodeRT:Windows平台专属JavaScript实现方案
- edge:支持JavaScript调用C#代码的实现方案
- cordova-background-geolocation-lt的浏览器端模拟实现:仅能返回预设的模拟位置,无法获取设备真实定位数据
诉求
需要可在Electron/Cordova应用中调用Windows原生DLL或原生代码获取真实定位的可运行示例。
当前使用版本
- cordova: 10.0.0
- cordova-electron: 3.0.0
- electron: 14.0.0
- electron-builder: 22.11.7
内容的提问来源于stack exchange,提问作者Allen
相关产品推荐
相关产品推荐

