■2005-07-07
* [メモ] Google Maps APIを試してみる
Google Mapsでいろいろ流行っているらしいのをみて、楽しそうだなあと。とりあえず私も試してみたくなりました。といっても、位置付けるデータが何もないので、2点間の距離を計算するだけ。計算はJavascriptにやらせないでJSON-RPC経由でサーバ側にさせるという大層無駄なことをやってます。でもこれはこれで楽しい。
追記:「距離はLocation::GeoToolで取れるべ!」(コメント欄) ということで、Location::GeoToolで距離の計算をするようにしました。試すのに夢中でCPANモジュール(っていうかねねさんの)を使うことは完全に失念してました。
2点間に線を引くようにしたのですが、IEだと動作しない…… Googleにあるデモは動くのに。
あとGPointのメソッドにdistanceFromがあるのですが、上記のモジュールとは値がずいぶんずれているので、何を返してるのだろう?
* [雑感] Webアプリケーションをセキュアに
問題はここからである。Perlによる認証プログラムの結果を,Javaの情報サイトに引き継ぐ必要がある。A社は,これをCookieで実現することにした。(中略)一見良さそうに見えるが,これが大きなセキュリティ・ホールを作り込んでしまう結果となった。実は,Cookieの中身を改ざんすることはそれほど難しくない。(中略)結局この問題に関しては,認証プログラムをJavaで作り直すことで解決した。(Webアプリケーションをセキュアに(第1回))
なんだかこの回だけ見るとPerlが悪いみたい(というかJavaでつくれば安全、みたいな)でいやーん。
付き合いの深い位置情報サイト仲間のGoogle Maps API HACKが進んでる話を書きましたが、さすがにGoogle Map
Javaで作り直しても、CookieにユーザIDを入れる発想を変えなければ同じことですよね。<br>単純にRSA署名をつければよかったりもするんですが。
距離はLocation::GeoToolで取れるべ!
>まちゅさん<br>>Javaで作り直しても<br>ほんとにねえ。何となく記事からは最初にJavaありきな印象を感じちゃいます。<br>まあ、第2回以降に解説が出てくるのかもしれません。<br><br>>ねねさん<br>>Location::GeoTool<br>ぐわ、すごく便利。<br>緯度・経度か→距離の解説サイトを見てたら自分でコーディングしたくなって、<br>「CPANモジュールで」なんてことは、すっかりアタマの中から消えておりました。<br>後でねねさんのモジュールに切り替えておこう。
私のモジュールも、モジュールのREADMEで言及してるサイトのJa<br>vaScriptプログラムをPerlに移植しただけなので、よく判ってません。<br>でも、航空機の大圏コースを求めるスクリプトなので、ある程度正確(コーディングミスがない限りは)ではないかと思ってます。<br>インストーラのテストスクリプトの値は、国土地理院かどっかの別のサイトで計算した値突っ込んでますし…。<br><br>まかまかさん自体が見つけられた球面三角法での計算結果と、モジュールでの計算結果と、Google Maps APIでの結果と比較すればどうなるでしょうか…。<br><br>まさかとは思いますが、Google Maps APIが平面三角法なんかで計算してたとしたら、大きく狂うと思います。<br>(或いは小圏コースを求めてるとか)
今、試してみましたけど、線で結ぶって、本当に地図上の直線(=球面上での小圏コース)で結んでいるだけなんですね…。<br>これの長さを計算しているのだとしたら、ずれるのは当然だと思います(全て、Google APIの方が大きな値になる方向にずれてませんか?)
いくつか、経緯度のセットとその間のGoogle APIで求めた距離とのセットをもらえれば、何を計算してるのか試してみますが…(判るかどうかは判りませんが)
>ねねさん<br>まあ、この場合線で結ぶのは視覚的な効果でしかありませんので。<br>最初の計算コードはLocation::GeoToolと同じです。<br>Googleの方は後で試してみます。
はじめまして。非常に参考になりました。<br>ところで、distanceFrom は <br>function(a){var b=this.x-a.x;var c=this.y-a.y;return M<br>ath.sqrt(b*b+c*c)}<br>と定義されているので、ずれるのは当たり前みたいです。