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

求助 chrome 在 Win10 的定位!

  •  
  •   beginor · 9 天前用 Android 发布 · 1828 次点击
    在开发一套 GIS 相关的系统, 目标是 Win10 平板 + Chrome 浏览器。

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

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

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

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

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

    27 回复  |  直到 2019-01-08 12:48:30 +08:00
        1
    XiaoJSoft   9 天前
    1,3 问题不大清楚
    第二个问题的话,试试 WebRTC,用 STUN 服务来采集用户真实的 IP 地址,再判断 IP 所在地
        2
    XiaoJSoft   9 天前
    @XiaoJSoft
    试试看这个 Demo:
    https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
    STUN 服务器的话可以自己部署或者用一些没有被 GFWed 的 STUN 服务器,推荐一个:
    http://www.stunprotocol.org/
        3
    66beta   9 天前 via Android
    Win 10 平板模式没法装 chrome 啊,只能用 edge
        4
    beginor   9 天前 via Android
    @66beta x86 的平板,可以装 chrome 的。edge 倒是能定位, 但是兼容性比较差, 性能也和 chrome 差好多
        5
    beginor   9 天前 via Android
    @XiaoJSoft 谢谢, 我看看。 不过最终还是需要 GPS 定位, 因为会野外作业。
        6
    Nasei   9 天前
    win10 平板 + chrome 吗...我在 surface 上只用 edge, 滑的爽还省电

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

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