【问题标题】:Handling geolocation with meteor framework使用流星框架处理地理定位
【发布时间】:2013-07-06 20:23:28
【问题描述】:

如何在流星框架内处理地理定位成功和失败事件? 更具体地说,调用“navigator.geolocation.getCurrentPosition(showPosition);”表示如果成功获取位置,则调用 showPosition。每当我定义一个通用 javascript 函数 (function showPosition(position) {}) 时,我都会收到一个 Web 套接字错误。那么如何在meteor框架中调用这些函数呢?

【问题讨论】:

    标签: javascript meteor


    【解决方案1】:

    查看模块mdg:geolocation

    meteor add mdg:geolocation
    

    在您的代码中使用后:

    Geolocation.currentLocation()
    

    【讨论】:

      【解决方案2】:

      这不是特定的流星功能。它适用于地理定位兼容的浏览器。获得位置后,您可以通过 Meteor 发送或保存。

      客户端js:(确保集合存在于服务器上)

      if (navigator.geolocation)
      {
          navigator.geolocation.getCurrentPosition(showPosition);
      }
         else{
             console.log("Geolocation is not supported by this browser.";
         }
      }
      
      function showPosition(position)
      {
          Locations.insert({latitude: position.coords.latitude, 
                            longitude: position.coords.longitude});
      }
      

      【讨论】:

      • 由于某种原因,在客户端 js 文件中创建通用 JavaScript 函数会导致套接字关闭。我使用委托来解决这个问题,但不确定这是否是正确的方法。
      • 哪个套接字关闭?如果流星 sockjs 断开连接,它应该重新连接。你能发布你的代码示例吗?这根本不应该发生。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 2015-11-10
      • 2021-12-11
      • 1970-01-01
      • 2015-09-01
      • 2019-04-24
      相关资源
      最近更新 更多