Ajaxなリアルタイム表示

604 views
Skip to first unread message

yukix

unread,
Oct 4, 2007, 1:56:53 AM10/4/07
to Google-Maps-API-Japan
書き込みは初めてになります。ヨロシクお願いします。

現在、携帯のGPSを使って位置情報をデータベースに格納。
そのデータベースを使って、準備したサイトにGoogleMapを表示。(マーカーとして。
ということをやっています。
簡単な流れとしては、
携帯からGPS(PHP)→データベース(SQLite)→データベースアクセス(PHP)→JSON→Javascript→GoogleMap表

という感じです。

それで質問なのですが、今やりたいこととして、携帯からデータベースに位置情報送られたら、リアルタイムにGoogleMapにマーカーを表示したいと
思っています。
画面更新無しに、サイトを開いていると、どんどん最新のデータがマッピングされて表示される感じです。
#TwitterVisionのようなイメージ。 - http://twittervision.com/

これはAjaxなのかなと思うのですが、そうなると、JSONではなく、PHPでデータベースから取ってくる際に、PHPでXML形式にタグ付けして
XMLとして利用する必要があるのかなとかとりあえず思ったりするのですが、どのようにやれば実現可能でしょうか?

アドバイスお願いいたします。

noki

unread,
Oct 5, 2007, 11:20:10 AM10/5/07
to Google-Maps-API-Japan
始めまして。鈴木と申します。

On 10月4日, 午後2:56, yukix <yuk...@gmail.com> wrote:
> これはAjaxなのかなと思うのですが、そうなると、JSONではなく、PHPでデータベースから取ってくる際に、PHPでXML形式にタグ付けして
> XMLとして利用する必要があるのかなとかとりあえず思ったりするのですが、どのようにやれば実現可能でしょうか?

多分仰るとおりAjaxによる物と思います。

ここでJSONかXMLかは、Ajaxでやり取りされるデータ・フォーマットの問題なので、どちらでも使いやすいフォーマットを使えばよいです。

では、どうリアルタイムで反映させるかですが、データベースを定期的に調べて反映させる方法が簡単だです。ほんとのリアルタイムにデータを受け取るに
は、cometという技術を使います。

yukix

unread,
Oct 7, 2007, 1:03:41 PM10/7/07
to Google-Maps-API-Japan
返信ありがとうございます。投稿者のyukixです。

> ここでJSONかXMLかは、Ajaxでやり取りされるデータ・フォーマットの問題なので、どちらでも使いやすいフォーマットを使えばよいです。

なるほど。
データベースからとってきたデータをGoogle Mapに表示する際にはXML化が必要なんでしょうか?(GXmlHttp利用のために。

> では、どうリアルタイムで反映させるかですが、データベースを定期的に調べて反映させる方法が簡単だです。ほんとのリアルタイムにデータを受け取るに
> は、cometという技術を使います。

確かに仰るとおり、定期的に調べて反映するのが簡単そうですね。
cometというのをまったく知らなかったのでちょっと調べてみたのですが、無駄な読み込みもなく確かによりリアルタイムにデータを受け取れそうでし
た。
こちらも検討してみます。

noki

unread,
Oct 7, 2007, 8:50:49 PM10/7/07
to Google-Maps-API-Japan
こんにちは。

On 10月8日, 午前2:03, yukix <yuk...@gmail.com> wrote:
> データベースからとってきたデータをGoogle Mapに表示する際にはXML化が必要なんでしょうか?(GXmlHttp利用のために。

必要ありません。GoogleMapsに表示させるためには、XMLでは無くJavaScriptのオブジェクトにする必要があります。XMLは、サー
バとブラウザー間の通信のみに使われると考えてかまいません。

XMLが便利なのは、GXmlHttpでデータを取得し、GXmlHttp.responseXMLで簡単にJavaScriptオブジェクトに変換で
きるからです。JSONの場合は、GXmlHttp.responseTextでテキストデータとして一度取得し、それをJavaScriptの
eval関数によってJavaScriptオブジェクトに変換する手間がかかります。

物は試しで、サーバと通信をしないでJavaScript埋め込みのデータを使ってGoogleMapsを表示するサンプルプログラムを書いてみるの
が、理解への近道だと思います。

頑張ってください。

yukix

unread,
Oct 13, 2007, 10:47:02 AM10/13/07
to Google-Maps-API-Japan
こんばんわ、yukixです。

> 物は試しで、サーバと通信をしないでJavaScript埋め込みのデータを使ってGoogleMapsを表示するサンプルプログラムを書いてみるの
> が、理解への近道だと思います。

GXmlHttpでのXML、JSON云々に関しては、いろいろと試してみて理解できました。
それで、実際にやろうとしていることでいろいろと試してみたのですが、ちょっと躓いてしまいました。

データベースに定期的にアクセスして最新をとってきて、GoogleMapに表示するという流れでのところなのですが、
データベースにアクセスしてとってくるのは、現在PHPで行っています。
これを「定期的」に行い、さらに「定期的」にJavaScriptに渡して表示する方法がわからなくて止まっています。
JavaScriptでは、setIntervalがあるので、それで繰り返して関数を実行できますが、PHPでのデータベースアクセスはどうやればい
いか。。。という具合です。
JavaScriptの中でPHPが実行できて、そこで得た変数をJavaScriptに渡せればいいのですが。
cronとかになってしまうのですかね。

GogleMapAPIとは直に関係しないことであれですが、差し支えなければご教示お願いします。

yukix

unread,
Oct 13, 2007, 12:18:44 PM10/13/07
to Google-Maps-API-Japan
連続投稿すみません。
今日はもう時間がないので試して自己解決とまではいきませんが、調べててできそうな気がしました。

GoogleMapを表示するJavaScriptにおいて、
1.XMLHttpRequestオブジェクトを生成し、open()、send()でデータベースに接続するPHPを実行。
2.PHPでは、データベースに接続して最新データを取得。そのデータをJSONとかにして、それをecho。
3.onload()でechoしたデータを読んで、そこからマーカーを作ってGoogleMapに表示。
この1~3を、setIntervalで繰り返せば良いのかなと思いました。

凄まじく見当違いだったらお恥ずかしいのですが、とりあえず近いうちにこんな感じで試してみようと思います。

Reply all
Reply to author
Forward
0 new messages