Javascript 使用我的web应用程序获取我的android设备位置

Javascript 使用我的web应用程序获取我的android设备位置,javascript,php,android,gps,Javascript,Php,Android,Gps,我为我的客户构建了一个web应用程序,为他们的客户构建了一个移动应用程序。我开发了一个应用程序,可以使用后台服务以设定的时间间隔跟踪它们的位置。然而,我被要求添加到它并根据请求跟踪位置。这意味着,在我的web应用程序上,如果我单击“获取用户位置”,我将被发回lat和lng。有关如何启动此功能的任何提示都将非常有用。在您的应用程序(后台服务)中: -将lat和lng作为“最后一个已知位置”写入数据库 在您的Web应用程序中: -查询数据库并获取最后位置您可以创建GCM服务,当有人单击web上的按钮

我为我的客户构建了一个web应用程序,为他们的客户构建了一个移动应用程序。我开发了一个应用程序,可以使用后台服务以设定的时间间隔跟踪它们的位置。然而,我被要求添加到它并根据请求跟踪位置。这意味着,在我的web应用程序上,如果我单击“获取用户位置”,我将被发回lat和lng。有关如何启动此功能的任何提示都将非常有用。

在您的应用程序(后台服务)中:

-将lat和lng作为“最后一个已知位置”写入数据库

在您的Web应用程序中:


-查询数据库并获取最后位置

您可以创建GCM服务,当有人单击web上的按钮作为服务器时,通过GCM向android客户端发送消息。在接收消息事件中,获取您的当前位置并将其发送到服务器。也许可以帮助您创建GCM服务。

您可以始终使用本机JavaScript方法,它将在移动和web环境中工作。请参阅下面的示例


    var options = {
      enableHighAccuracy: true,
      timeout: 5000,
      maximumAge: 0
    };

    function success(pos) {
      var crd = pos.coords;

      console.log('Your current position is:');
      console.log(`Latitude : ${crd.latitude}`);
      console.log(`Longitude: ${crd.longitude}`);
      console.log(`More or less ${crd.accuracy} meters.`);
    };

    function error(err) {
      console.warn(`ERROR(${err.code}): ${err.message}`);
    };

    navigator.geolocation.getCurrentPosition(success, error, options);

函数getLocation(){}
似乎是一个不错的开始@Weedoze告诉我们,创建一个javascript接口函数。检查这个:谢谢你的链接,我会尝试一下,看起来这可能会奏效。但对于我的案例,我会将其写在我的服务中,而不是写在我的活动中@VikrantI觉得您可以定义一个通用的
功能
,而不是
服务
,从
webview
根据请求触发该
功能
(可能是一个按钮点击?)。获取精确位置(纬度、经度),并将坐标发送回相应的
webview
。你是想从JavaScript还是Java获取位置?@Vikrant,我想通过使用JavaScript和php开发的web应用程序安装Java应用程序来获取特定android设备的位置。目前,我设置的时间间隔为一小时,因此,通过db获取我最后已知的位置对我的客户端来说不是一个好的选择,有没有办法在请求点获取我的客户的位置?对于这种情况,我猜最终用户将通过web应用程序获得发送位置?我的目标是,在笔记本电脑上单击一个按钮,获取最终用户移动设备的位置。然后,您必须保留一个事件,更新/接收位置。-如果设备移动一定距离,您可以使用更新地理位置的服务。(这是我曾经在iOS中使用过的)-您可以使用socket.io(如果您使用nodejs)发送/接收事件,或者使用任何其他替代方法。()-您也可以通过firebase cloud Messaging来实现这一点。就本例而言,它似乎可以工作,但我预计发送到服务器时会出现一些问题。我想要的是一个onclick-on-webApp并获得地图的引导弹出模式,其中插入了lat lng,或者如果用户没有禁用wifi或GPS,则显示错误消息,您认为GCM可以工作吗?从我所看到的情况来看,发送到服务器可能是一个问题,因为在单击时,我会执行发送功能到我的应用程序,但如何从那里显示lat lng?