2017-04-26 1 views
-1

自分のクライアント用のWebアプリケーションビルドとクライアント用のモバイルアプリケーションがあります。私はバックグラウンドサービスを使用して設定された間隔で位置を追跡できるアプリケーションを開発しました。しかし、私はそれを追加し、要求に応じて場所を追跡するように求められました。これは、私のWebアプリケーションで、ユーザーの所在地をクリックすると、私はlatとlngを送り返します。この機能を開始する方法についてのヒントは素晴らしいでしょう。あなたのアプリケーション(バックグラウンドサービス)でウェブアプリケーションで自分のアンドロイドデバイスの場所を取得

+0

'関数のgetLocation(){}'ジャバスクリプトインターフェイス関数を作成し、@Weedozeに言われるように、良好なスタート – Weedoze

+0

思われます。これをチェック:http://stackoverflow.com/questions/39657311/using-javascript-bridge-in-android – Vikrant

+0

リンクをありがとう、試してみる、これはちょうどうまくいくかもしれないようです。しかし私の場合、私は私の活動ではなく私のサービスの中に書きますか? @Vikrant –

答えて

0

-Write、データベース、Webアプリケーションで

への「最後の既知の位置」として緯度とLNG:

-Queryデータベースと取得最後の位置

+0

今のところ、私のインターバルは1時間で設定されています。私の最後の知られている場所をdbで取得することは、クライアントのためのオプションではないでしょう。クライアントのクライアントの場所を取得する方法はありますか?要求? –

0

GCMサービスを作成することができます。ユーザーがウェブ上のボタンをサーバーとしてクリックし、GCMを通じてアンドロイドクライアントにメッセージを送信します。受信メッセージイベントでは、現在の場所を取得してサーバーに送信します。たぶんthis siteは、GCMサービスの作成に役立ちます。

+0

この場合は賢明ですが、動作する可能性がありますが、私はサーバーへの送信にいくつかの問題があると予期しています。 私が望むのはwebAppのonclickで、latinが挿入されたマップのブートストラップポップアップモーダルを取得するか、またはWi-FiまたはGPSが無効の場合はエラーメッセージが表示されます。GCMが機能すると思いますか? ? 私はサーバーに送信することが私のアプリに送信機能を実行するクリックのように問題があるかもしれませんが、どのように私はそこから緯度経位を表示するのだろうか? –

0

ネイティブJavaScriptメソッドnavigator.geolocationは、モバイルとウェブの両方で動作します。以下の例を参照してください。


    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); 

example taken from documentation

+0

このシナリオでは、エンドユーザーが推測すると、Webアプリケーションでその場所が送信されますか? 私が目指していることは、ラップトップ上でボタンをクリックして、エンドユーザーのモバイルデバイスの場所を取得することです。 –

+0

場所を更新または受信する予定のイベントを保持する必要があります。 - デバイスが特定の距離を移動した場合、ジオロケーションを更新するサービスを持つことができます。 _(これはiOSで一度使用したものです)_ - イベントを送信/受信するためにsocket.io(nodeが使用している場合はur)を使用できます。 (_http://nkzawa.tumblr.com/post/46850605422/connecting-to-a-socketio-server-from-android_) - これはfirebaseクラウドメッセージングでも実現できます – imixtron

関連する問題