V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
beginor
V2EX  ›  程序员

求助 chrome 在 Win10 的定位!

  •  
  •   beginor ·
    beginor · 2019-01-07 19:03:45 +08:00 via Android · 2300 次点击
    这是一个创建于 1907 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在开发一套 GIS 相关的系统, 目标是 Win10 平板 + Chrome 浏览器。

    需要使用 HTML5 的 GeoLocation API 来进行定位设备位置,chrome 浏览器需要访问谷歌的服务器来进行网络定位, 当然我朝是不能直接访问的, 所以无法直接定位。

    无奈只好搭了个梯子, 能使用 GeoLocation API 了, 可是居然直接被定位到了梯子所在的国家, 应该是根据梯子的 IP 定位的。

    请教一下各位老铁们, 有没有什么好办法解决?

    - Chrome 浏览器 有没有办法使用 Windows 10 内置的位置服务?
    - 有没有办法绕过谷歌的服务器进行网络定位?
    - 有些型号的 Win10 平板带 GPS 或者在电脑上插一个 USB 的 GPS,Chrome 能否直接使用 GPS 进行定位?
    第 1 条附言  ·  2019-01-08 12:47:28 +08:00

    感谢老铁们的热情回复, 看来自己用 Cef 或者 CefSharp 做个浏览器外壳是比较好的选择, 通过自己的外壳程序调用 Windows 设备定位 API 来实现基于设备的定位。

    第 2 条附言  ·  2019-06-19 09:15:14 +08:00
    各位老铁,挖个坟。

    Chromium 内核的 edge 浏览器已经可以定位了, 由访问 Google 的服务器改为访问微软的服务器了, 国内用户可以无障碍使用 H5 定位了。
    27 条回复    2019-01-08 12:48:30 +08:00
    XiaoJSoft
        1
    XiaoJSoft  
       2019-01-07 19:28:51 +08:00
    1,3 问题不大清楚
    第二个问题的话,试试 WebRTC,用 STUN 服务来采集用户真实的 IP 地址,再判断 IP 所在地
    XiaoJSoft
        2
    XiaoJSoft  
       2019-01-07 19:31:50 +08:00
    @XiaoJSoft
    试试看这个 Demo:
    https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
    STUN 服务器的话可以自己部署或者用一些没有被 GFWed 的 STUN 服务器,推荐一个:
    http://www.stunprotocol.org/
    66beta
        3
    66beta  
       2019-01-07 19:36:27 +08:00 via Android
    Win 10 平板模式没法装 chrome 啊,只能用 edge
    beginor
        4
    beginor  
    OP
       2019-01-07 20:11:53 +08:00 via Android
    @66beta x86 的平板,可以装 chrome 的。edge 倒是能定位, 但是兼容性比较差, 性能也和 chrome 差好多
    beginor
        5
    beginor  
    OP
       2019-01-07 20:13:37 +08:00 via Android
    @XiaoJSoft 谢谢, 我看看。 不过最终还是需要 GPS 定位, 因为会野外作业。
    Nasei
        6
    Nasei  
       2019-01-07 20:27:49 +08:00
    win10 平板 + chrome 吗...我在 surface 上只用 edge, 滑的爽还省电

    这个系统可以有本机辅助程序吗?
    phy25
        7
    phy25  
       2019-01-08 09:09:00 +08:00 via Android
    算是 FYI 吧,Chrome 曾经有对接 Windows 7 的位置服务的,后来因为「没什么用」就删掉了,现在什么情况不大清楚也还没查到: https://bugs.chromium.org/p/chromium/issues/detail?id=45535
    66beta
        8
    66beta  
       2019-01-08 09:10:33 +08:00 via Android
    @beginor 转成专业版 Windows 才可以跑 exe
    yao978318542
        9
    yao978318542  
       2019-01-08 09:37:54 +08:00
    用别的定位不行吗?非得 H5 自带?
    beginor
        10
    beginor  
    OP
       2019-01-08 10:04:30 +08:00
    @yao978318542 就是因为 H5 自带的有问题才来求助的呀, 可能是我描述的不够清楚吧
    beginor
        11
    beginor  
    OP
       2019-01-08 10:05:42 +08:00
    @66beta 是的, 肯定是专业版。
    beginor
        12
    beginor  
    OP
       2019-01-08 10:09:52 +08:00
    @Nasei Edge 浏览的网页是没有问题, 但是我的 WebGIS 需要使用 WebGL 进行大量的渲染,Edge 和 Chrome 比起来性能确实差好远, 而且 CSS 的兼容性也比较难处理。

    换句话说,Chrome 就是新一代的 IE6。
    liuzhedash
        13
    liuzhedash  
       2019-01-08 10:13:41 +08:00
    提供个野思路:写个 Windows 服务获取 GPS 信息,然后 监听本地端口提供一个 websocket server,chrome 里的 JavaScript 访问这个 websocket server 拿到 GPS 数据
    beginor
        14
    beginor  
    OP
       2019-01-08 10:18:23 +08:00
    @yao978318542 不好意思, 我没看清楚你的回复。 请问对于浏览器来说, 除了 H5 的 Geolocation API 之外, 还有什么好的选择呢?
    beginor
        15
    beginor  
    OP
       2019-01-08 10:21:57 +08:00
    @liuzhedash 我也在考虑这个方法, 作为替代方案。 做一个 win32 程序, 封装 chromium 内核 。
    yao978318542
        16
    yao978318542  
       2019-01-08 10:22:13 +08:00
    可能是我没有理解你的问题吧 高德 百度 不都有定位接口吗?
    beginor
        17
    beginor  
    OP
       2019-01-08 10:25:10 +08:00
    @phy25 😳
    beginor
        18
    beginor  
    OP
       2019-01-08 10:44:00 +08:00
    @yao978318542 这些地图的 WebSDK,定位不都是依赖 HTML5 的 GeoLocation API 么?
    yao978318542
        19
    yao978318542  
       2019-01-08 10:48:22 +08:00
    @beginor #18 不一定吧 还有 IP 定位 我之前做打车系统的时候有用高德的定位
    oisc
        20
    oisc  
       2019-01-08 10:49:10 +08:00
    本地开一个 host http service,用原生接口获取 GPS 位置,然后同域下指定一个域名到 localhost,浏览器从这个 host 服务获取 GPS 位置,你看可行吗?
    Torpedo
        21
    Torpedo  
       2019-01-08 10:52:07 +08:00 via Android
    @beginor 这些也有 ip 定位的
    lcy630409
        22
    lcy630409  
       2019-01-08 11:41:10 +08:00
    这种情况 还是自己做一个“浏览器”比较好
    做成程序或者 app,权限你就都有了
    beginor
        23
    beginor  
    OP
       2019-01-08 11:41:43 +08:00
    @Torpedo 哦, 谢谢! 不过 IP 定位应该不能满足客户需求的,精度比较差
    beginor
        24
    beginor  
    OP
       2019-01-08 11:42:54 +08:00
    @oisc @lcy630409 谢谢二位, 现在也在考虑这种思路了
    Torpedo
        25
    Torpedo  
       2019-01-08 11:52:56 +08:00 via Android
    @beginor web 定位本来就会有问题。ip 可以做个补充吧
    Torpedo
        26
    Torpedo  
       2019-01-08 11:54:25 +08:00 via Android
    @beginor 接上条,不过特定设备也不一定。最好当然还是 gps
    beginor
        27
    beginor  
    OP
       2019-01-08 12:48:30 +08:00
    @Torpedo 谢谢, 准备做个浏览器的壳了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   994 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 20:07 · PVG 04:07 · LAX 13:07 · JFK 16:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.