私のオススメは、
データの管理:MySQL
スクリプト言語:PHP
データのやり取り:JSON形式
といったところです。
JSON形式でやり取りすると、JavaScriptに大量のデータをオブジェクトとして
取り込めるので、取り扱いが非常に楽です。
参考までに、いくつかURLをご紹介しておきます。
JavaScriptでのJSONの取り扱い
http://d.hatena.ne.jp/brazil/20050915/1126717649
PHPでJSON形式の取り扱い(PEAR JSON)
http://jsgt.org/ajax/ref/test/php/pear/JSON/pear-json.php
>あと、Masashi.K さんが同じようなヤツ構築するんでしたら、ぜひ構築完了次第、教えてください!遊びにいきますんで。
ありがとうございます。
完成を楽しみにしていてください。
さて、返信できる期間内に完成するかな?(笑)
簡単なサンプルを示すと、こんな感じです。
参考にしてみてください。
Google Maps側
-----------------------------------------------------------------------
GDownloadUrl("pnt.php", function(data, responseCode) {
//evalでobject化
//(JSON形式のテキストデータをJavaScriptのオブジェクトとして扱う)
//alert(data); //debug
eval("var res="+data);
//mapping
for(i=0;i<res.length;i++){
var marker = new GMarker(new GLatLng(res[i].lat,res[i].lng));
map.addOverlay(marker);
}
});
php側(ここでは、pnt.php)
-----------------------------------------------------------------------
<?php
//JSONライブラリの取り込み
//入手先:http://mike.teczno.com/JSON.tar.gz
require("JSON.php");
//配列データを用意
$buf_array=array();
$buf_array[]=array('lat' => '35.681806','lng' => '139.7668');
//Tokyo
$buf_array[]=array('lat' => '34.985742','lng' => '135.758808');
//Kyoto
$buf_array[]=array('lat' => '34.702918','lng' => '135.496252');
//Osaka
//JSON形式で出力
$json = new Services_JSON();
echo $json->encode($buf_array);
?>
>返信できる期間内に完成するかな?(笑)
問題ないです。プロフィールにでものっけといてもらえたら、チェックしておきますよ
そうですね。
回線速度などにも影響するかとは思いますが
私の開発環境(ADSL.WindowsVista,2.5GB,IE7,IntelPenD 3GHz,64bit)で
130件のデータ(約8.6KB)のデータは約1秒くらいで取得できます。
マーカーのマッピングを含めても2・3秒くらいですね。
ただ実行環境の依存度が大きいので、一度に1000件を受け渡しするよりかは
何度かに分けてデータのやり取りするか、やり取りするデータのサイズをコンパクトにする
などの工夫が必要だと思います。
>何度かに分けてデータのやり取りするか、やり取りするデータのサイズをコンパクトにする
そのへんも考慮しながら作らなくては…私は問題山積みですな…
ちなみに、ついでで質問をさせていただくと、レンタルサーバを使用するか自宅サーバ(linax)を使用するか迷ってるんですけど、どっちがいいっすかね?今の所の予定だと、サイトの一部をlinaxにする予定なんですが、そしたら、お金はかからないが、速度が…逆にレンタル鯖だけだと大量データのおかげで、お金が大量消費される恐れが…
"linax"って"Linux"のことですかな?
サーバーで何を提供するのか、目的によって返答は変わると思いますが
私の個人的な意見としては、実験するなら自宅サーバー、
サイトを運営するならレンタルサーバーをお勧めします。
自宅サーバはたしかに”カスタマイズの手軽さ”という意味では秀でていますが
逆に電気代・熱・セキュリティホールのメンテナンスなどを考えると
負荷の大きいプログラムを動かす場合や、独自の仕様を提供するなどの場合以外は
あまり良い選択肢ではないでしょう。
(勉強の意味で自宅サーバーを構築するのは良いと思います。)
サーバーに関する設定を自分で行いたいのでなければ
(つまり普通にCGIとか、phpとか動かす程度なら)
縛りの少なく様々なサービスがインストールされている、
もしくは自分でカスタマイズできるレンタルサーバーを借りるほうがよいでしょう。
メンテナンスや障害対策もされているでしょうし。
sakuraインターネットとかだったら、料金も安く、SSHなども使えるのでお勧めです。
私は「xサーバー(http://xserver.ne.jp」というところのレンタルサーバーを借りてます。
telnetやSSHなどが使えないのが難点ですが、cronやmysqlなどが使えるので
気に入っています。サポートも比較的早いです。
参考にしてみてください。
>参考にしてみてください。
わかりました。いろいろ探しつつ、検討してみます。詳しく教えていただきありがとうございます。大変参考になりました。
Masashi.Kさんの完成を楽しみに待っております。
私の場合、サーバサイドのスクリプト言語(perlとかphpとか)が使えるので、複雑な検索はサーバ側で行うようにしています。
そのほうが簡単ですし、ユーザ側(クライアント側)に負荷がかかりにくいので、ストレス感を与えにくいです。
またサーバ側での処理を使わないという前提なら、必要なデータだけハッシュ化して検索を高速化します。
返答としましては、XMLでもJSONでもsaakさんが扱いやすい方(データの作成・保存・操作など)を選択すればよいと思います。
あと、セキュリティ面や文字化けのことですが、XMLやJSONはあくまでデータ形式の話であって
それらとは別次元の話です。
セキュリティ面を強化したいのであれば、SSLを適用すればよいと思います。
文字化けに対応したいのであれば、全データと全プログラミングコードをUTF-8(など)で扱えば悩むことはないはずです。
ご参考まで。
一応参考までに、version1のころに買った本を紹介しておきますね。
----------------------------------------------------------------------------------------------
入門 Ajax
http://www.amazon.co.jp/gp/product/4797332646/
入門Ajaxとなっている割に、ほとんどGoogle
Mapsのことしか書いてない本です。
というのも、この本はまだGoogle
Maps日本語版(当時はGoogle ローカル)が出た
ばかりのころの本なので、Ajax=Google
Mapsみたいな扱いになってます。
なんでいまさらこの本かというと、今回のご質問(xml,json,php,db)に
関する答えの解説とサンプルがあるからです。
もちろんversion1のころのコードなので、直接は利用できないのですが
version2になった現在でも共通する部分もあるのでまだ利用価値はあります。
それにAjaxとは何か、とか、非同期通信などについても
解説があるので参考になると思いますよ。
著者のサイトにversion2の日本語解説もあるので、そちらも参考にしてみてください。
http://jsgt.org/ajax/newmon/GoogleMapsAPIv2.htm
(ちなみに私は、この本一冊でGoogle
Mapsの基礎を覚えました。)
----------------------------------------------------------------------------------------------
geekなページ
http://www.geekpage.jp/web/google-maps-api/
こちらは本ではないのですが、ここも初心者には分かりやすくGoogle
Mapsについて解説をしています。
ここではXMLを使ったデータのやり取りの解説もあるので、参考になると思います。
(Google
Mapsに限らず、他の資料もかなり参考になるので、たまに見ています。)
----------------------------------------------------------------------------------------------
Google Maps活用講座
http://googlemaps.googlermania.com/
一応、私も似たようなサイトを開いているので、参考までに。
更新はボチボチしていきます。(笑)
----------------------------------------------------------------------------------------------
ここに紹介した本とサイトがsaakさんのお役に立てば幸いです。
親切にしていただき、ありがとうございます。
しばらくの間、いろいろあさってみます!
というか、Masashi.Kさんもhow
toサイトを作っていたのですね。
便新期待しております。
いえいえ。自サイトを作りながら楽しく返答させていただいていました。
ちょうどやっていることが、題目と一緒だったので
こちらもいろいろ実験する機会になってよかったです。
また何か分からない点などありましたら、お気軽に声をかけてください。
たぶん1日1回くらいは覗いているので、お答えできることでしたら
答えさせていただきます。
逆に私が質問することもあるかもしれませんが(笑)
そのときはぜひよろしくお願いします。
何か良さそうな本があったらぜひ教えてくださいね。
>逆に私が質問することもあるかもしれませんが
それは、ないと予測されます(^^)なぜなら、私はまだまだアマチュアレベルの人間ですから…
ちなみに、自分は「google maps
API逆引きリファレンス」という本を買ったのですが、見やすいだけでした…
でわでわ。
こんばんは。秋の気配が深くなってきましたね。
ご質問の件ですが、仕組みとしてはGoogleモバイルというサービスで
携帯電話に地図が表示できるようです。
Google Movile Maps(英語)
http://www.google.com/gmm/index.html
ただ、日本では現在のところ機能していないようです。
(私が確認した範囲内での結論ですが。)
Googleモバイルの日本語公式ページを見に行くと、「Googleローカル」で
地図が表示される、と書いてはあるのですが、私は見たことがないです。
iモードシュミレータ(v2)でも試してみましたが、表示されませんでした。
結論としては、表示可能かもしれませんが確認できていないです。
--------------------------------------------------------------------------------------------------
代替のサービスというわけではないですが、MapFunを使うと
携帯でもGoogleMapsと同様のことができます。
Mapfun 携帯版地図リンクサービス
http://www.mapfan.com/mfwlink/linkservice.cgi?SbmtPB=IMF
表示される地図や使い方は異なりますが、このサービスの場合
ドコモ、au、ソフトバンクの携帯でも同じように表示されるという利点があります。
Google Mapsほどの自由度はないですが
マーカーを表示したり、地点登録したりすることができます。
ユーザー登録は無料なので、試してみると面白いかもしれませんよ。
> Googleモバイルの日本語公式ページを見に行くと、「Googleローカル」で
> 地図が表示される、と書いてはあるのですが、私は見たことがないです。
> iモードシュミレータ(v2)でも試してみましたが、表示されませんでした。
>
> 結論としては、表示可能かもしれませんが確認できていないです。
yahooの地図はagent名のみで相手を判断しているようですが、google
はagent名以外の情報も利用して判断しているようですね。
わたしはPHSなのですが、docomoサイトにアクセスするプロクシサービス
を経由してアクセスしたら、iモードシュミレータ(v2)よりはましで、
googleの画面にはなるのですが、肝心の地図が見れませんでした。
ただ、携帯用のgoogleは必ずキーワード検索をかけないといけなくて
urlが経緯度で表示されないので、PCで位置を決めて登録しても、それを
変換する方法がわかりません。
という事で、わたしのサイトではgoogleで位置を探して登録しますが、
携帯でみる場合は、yahooの地図を見せるようにしています。
*googleさん* 携帯用の地図も経緯度で見れるようにして欲しいです
あと、携帯系の地図は、縦横の移動や縮尺変更をしようとすると有料に
なるサービスが多いですね。ざっと見た感じでは、これが無料なのは
googleとyahooのみでした。
以下のサイトは、PCでgoogleを用いて登録した場所を携帯では
yahooで表示させるようにしたものです。大会の集合場所が
地図になっています。
http://www.asobox.com/o/i/
自分はこれを使って手作業で沖縄そば屋のマップを作ってます。
全部手作業なんでメンテが大変ですが・・・
(PC) http://earthhopper.syuriken.jp/mashups/okinawasoba.html
(携帯) http://earthhopper.syuriken.jp/mashups/k/okinawasoba.html
URL にimode と入ってますが,au や vodafone、WILLCOM(京ぽん) の
ケータイ表示モードでも地図が表示できています。
ただし、v2 でマップが一新されてから,ケータイ版の方の一部の機種で
表示されるマップのタイルのサイズが以前より小さくなってしまい,
ちょっと使いにくくなってしまいました(自分のは京ぽんのケータイモードです)。
逆に上のケータイ用URLをPCでアクセスすると、やたら大きなタイルのマップが
表示されるようになりました。
各キャリアのシミュレータからは問題なく表示できてますが,やはり imode の
シミュレータでやたらタイルが小さくなってしまっています。
もしお手元のケータイで表示がおかしいようであれば逆に教えてほしいですが・・・
これはもちろん日本独自仕様のケータイ版 Google Maps(ローカル)で、
今後USのGoogle Mobile のマップが日本に導入されるかどうかはわかりませんけど、
そうなれば本格的にケータイでも API を使った地図サービスが派生できる環境に
なると思います。
>nagoyan さん
>http://earthhopper.syuriken.jp/mashups/k/okinawasoba.html
これ(↑)の地図の表示位置指定ってどうやるんですか?
店名や住所で検索した結果にリンクしているだけですよ。
差し支えなければ、ケータイのキャリアと機種を教えてもらえますか?
(アレでしたらメールでも構いません)
また、マップのタイルの大きさはどれくらいでしょうか?
(ケータイの画面一杯に表示されますか? それともかなり小さいものでしょうか。
> APIを使わずに単にマップを表示するという事なら以前から出来ていますよ。
> ケータイから http://google.jp にアクセスして「ローカル/乗り換え」をクリックするか、
iモードシミュレータで呼び出せました。乗り換えまで付いているとは
知りませんでした。
いやあ、インターネットの世界は半年前の知識のままじゃいけませんね。
ただ、地図は小さくて正直なところあまり使う気は
おきませんね。使うのは、どうしようもない時くらいと思いました。
ついでに検索キーワードや場所なしのurlでも呼び出せないか、
試してみましたが、これは相変わらず駄目ですね。残念。
> ちなみに有料で、そこそこお値打ち価格の高機能サービスって知ってますか?
一応、携帯向けurlも公開してるわけですが、自分としてはPCの広い画面で
ないとあまり地図を見る気ないので、そこまでは調べてません。
PHS(ウィルコム)を使っているので、自分の位置を通知するようなサービスも
あるようです。
http://www.willcom-inc.com/ja/service/location/index.html
携帯ならではのサービスではありますね。