GeolocationPositionErrorcode: 2 message: "Network location provider at 'https://www.googleapis.com/' : No response received."

背景

    环境:Win10    IIS

    在ArcGIS API for JavaScript移动端开发,需要定位的时候,出现一个问题“GeolocationPositionErrorcode: 2 message: "Network location provider at 'https://www.googleapis.com/' : No response received."”。

     

   这是电脑端chrome中测试的提示,在火狐是好的,火狐会提示:

          

     点击允许获取位置,程序就能正常运行,IE、Edge也可以。但是chrome根本不提示这个。 在手机端测试几款常用的浏览器,包括安卓和IOS,也都不行。

问题原因

    对计算机的知识有些欠缺,所以直接搜索问题出在哪里,然后就在谷歌开发的网站找到答案

    

    意思很明显,就是要把HTTP迁移到HTTPS。

    另外在火狐官网也看到Geolocation API的相关描述,里面有个可以测试的地方

     ①这是Chrome里的测试

    

     ②这是Firefox里的测试结果:

    

     另外,Edge也是可以的,IE没反应。

    问题解决

    ①大部分资料是建议到用Let's Encrypt、阿里云、腾讯云等部署免费 HTTPS。我是想用Let's Encrypt的,但是去github上下载软件包时,一直下载失败,就放弃了。并且最新版本列出来很多,也不知道下载哪个。

    ② 我是在ArcGIS官网的一篇文章(在 Web 服务器上启用 HTTPS)解决的这个问题。

     经过测试,PC端Chrome出现别的错误,可能需要用Let's Encrypt那些部署HTTPS。但是我用第二种方法,手机端的各个浏览器都可以获取位置了。以下为safari:

    

    可能遇到的问题:

              ①为什么我的iis7.0的功能视图中没有"服务器证书":在服务器站点名称下的功能视图里有服务器证书,在网站名称下的功能视图里没有。服务器站点名称是在iis里应用程序池和网站的父级。
                   

               

    参考网站

    在IIS中启用SSL

    IIS 使用 Let’s Encrypt 证书部署 HTTPS 站点

    windows server使用 LetsEncrypt-Win-Simple来安装和使用用Let's Encrypt免费SSL证书

    在IIS服务器上安装SSL证书

    从 HTTP 到 HTTPS - IIS 部署免费 HTTPS

    

悲观者更正确,乐观者更成长。时代大潮下,充满着机遇和风险。 目标不同,选择也就不同,人生没有标准答案,对大多数人而言,还是要不停地提高自己,这个世界什么都能快,但学习从来都没有捷径,或者说学习已是捷径。
原文地址:https://www.cnblogs.com/youzi-xuchongyou/p/14493193.html