19

緯度と経度をMySQLデータベースにアップロードするAndroidアプリをすでに作成しました(2分ごとに更新)。

今、ウェブサイト(php、javascript、html)でGoogleマップにリアルタイムの場所を表示する方法がわかりません。これは、Googleマップマーカーを2分ごとに動的に更新する方法を意味します[MySQLデータベースから最後の2分間のレコードを取得し、マーカーを表示する (更新または非表示)]

マーカーをクリックすると、情報が表示されます[mysqlデータベースから取得します(静的なGoogleマップと同じなので重要なポイントではありません!?]

このように: http://traintimes.org.uk/map/tube/

限られた知識で 1 回 (静的な Google マップ!?) を取得したときの方法を知っているだけです。

スタックオーバーフローとグーグルで同じ質問をすでに検索しましたが、知識が不足しているため、まだ方法がわかりません。

リアルタイム Google マップ

誰かが私にいくつかのチュートリアルのウェブサイトや提案を与えることができますか?

最後に、皆さんに感謝します。私はまだ英語の学習者です。間違った文法については申し訳ありません。

4

1 に答える 1

18

地図上の地理的緯度/経度をリアルタイムで追跡

更新が発生すると、マップ (Google マップなど) 上の座標エンティティ (緯度/経度位置) をリアルタイムで更新しようとしています。正しい方向に進むためのブログ投稿は次のとおりです。 -sdk/ - PHP と MySQL ではなく、MongoDB と Ruby を使用します。ただし、この場合、次の詳細を含む HTML ページで PHP と MySQL のリアルタイム マップを使用すると、簡単にセットアップできます。動画もあります: https://vimeo.com/60716860

MySQL を使用してリアルタイムで更新をトリガーする

最初に、MySQL トリガーを使用して緯度/経度座標をプッシュします- mysql が変更されたときにプッシャーを呼び出します - これは MySQL トリガーを使用します

または、別の方法として、次のように PHP プッシュ SDK を使用して、PHP を直接使用してプッシュ シグナルを呼び出すこともできます

$pubnub->publish(array(
    'channel' => 'live_map_coords',
    'message' => array( 12.3482, 8.3344 )
));

JavaScript でプッシュ メッセージを受信し、地図上に更新を表示する

<script src=//pubnub.a.ssl.fastly.net/pubnub-3.4.5.min.js></script>
<script>(function(){

    PUBNUB.init({
        subscribe_key : 'demo'
    }).subscribe({
        channel  : 'live_map_coords',
        callback : function(lat_lon) { alert(lat_lon) }
    });

})();</script>

map.html上記のコードを含むページを作成したらalert(lat_log)、地図上に座標を描画してメッセージ ポップアップを変更できます。D3以下は、 JavaScript SVG レンダリング フレームワーク を使用して完全に機能するマップの描画例です: https://github.com/stephenlb/pubnub-mongo-pipe/blob/master/phone/map.html

注:これは出発点に過ぎず、簡単かつシンプルでありながら、アプリの方向性に基づいて柔軟に開始できるようにするための参考資料を提供します。

リアルタイム地理マップをつなぎ合わせる次のステップ

次に、次の手順を実行してプロセスを完了し、ここにリストされている個別のコンポーネントをすべて結合します。

  1. 目的に合わせてページを変更して、map.html常に表示されるドットを表示します。ビデオでは、ドットは一時的なビーコンであり、急速に表示されたり消えたりすることに注意してください。それらをマップ上で持続させたいと思うでしょう。これは基本的に「思い通りに見せる」ステップです。
  2. PHP または MySQL から直接 TCP ソケット プッシュ イベントをトリガーする方法とタイミングを決定します。 PHP アプローチをお勧めします
于 2013-05-09T16:26:31.403 に答える