使用从 Geolocation 发送的给定参数和对象的 Javascript 函数

Posted

技术标签:

【中文标题】使用从 Geolocation 发送的给定参数和对象的 Javascript 函数【英文标题】:Javascript function using given argument & object sent from Geolocation 【发布时间】:2017-04-11 18:12:40 【问题描述】:

我正在尝试创建一个函数,该函数接收用户位置,然后循环遍历车站位置的 JSON 文件以确定哪个是最近的车站。我遇到的问题是如何将位置对象和 JSON 文件作为参数包含在函数中。

我通过以下方式获取位置:

function getLocation() 
    if (navigator.geolocation) 
        navigator.geolocation.getCurrentPosition(findNearestStation);
     else 
        return "James Street";
    

然后我想使用函数 findNearestStation 将 JSON 作为参数,并使用 getLocation 传递的位置来查找最近的车站。像这样的:

function findNearestStation(position, json) 
    var UserLat = position.coords.latitude;
    var UserLong = position.coords.longitude;
    for (var i = 0; i < json.stations.length; i++) 
        compare and find the min distance...
    

任何帮助将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

试试匿名函数:

function getLocation() 
    if (navigator.geolocation) 
        navigator.geolocation.getCurrentPosition(function(pos) 
            findNearestStation(pos, json);
        );
     else 
        return "James Street";
    

【讨论】:

这正是我所需要的。谢谢! @Reggie 介意投票并接受我的回答吗? 我投了赞成票,但显然“声望低于 15 的人的投票已记录但不明显显示”。再次感谢。

以上是关于使用从 Geolocation 发送的给定参数和对象的 Javascript 函数的主要内容,如果未能解决你的问题,请参考以下文章

从数据集中计算最近的地理位置

Firefox 在其请求中为 HTML5 GeoLocation 数据发送啥?

地理位置服务——navigator.geolocation

PhoneGap/Cordova 将 GeoLocation 从 localStorage vars 推送到 MySQL

Flutter:使用 geolocation 包的 getPermission 函数中的位置参数太多

如何在 Swift 3 中使用 Alamofire 在 POST 请求中将给定的 JSON 作为参数发送?