GoogleMapsのバージョンアップが進むにしたがい、デフォルトで提供されるメソッドがどんどん増えています。
これまではクラス、メソッド、プロパティ、関数を丁寧に根気よく組み合わせて、あちこちの愛好家が自分でいろいろな機能を開発してきたと思います(このあたりの言葉の使い方は、不正確かも…まだ理解が十分でないので)。そうやって苦労して実装させていた機能が、そのうち、ある用意されたメソッドをポンと載っけてオシマイ、とかになるんじゃなかろか?というか、そうなりつつあります。
たとえば「地図上で距離を測るサンプル【僕の歩いた跡に道はできる】」では、
●GEventオブジェクトにより、
clickというイベントが発生したら、
・クリックされた点の座標を取得する
・その座標間をGPolylineにより線で結ぶ
・線を新しいオーバーレイに描画する
・後述の関数Gdistanceによって算出された"dist"をHTML上に表示する
●Gdistanceという名前で定義する関数による値distの算出
・(詳細は略。地球を球体とみなして、三角関数で算出している)
●clearPointsという名前で定義する関数によって
・クリックで取得する座標群について、新しい配列を用意する
(=これまで取得したものを消す)
・すべてのオーバーレイを消去する
(=描画された直線を消す)
・distの値ではなく、"0"を表示する
これら1つのオブジェクトと、それに付随する2つの関数が、道のりを測る機能(とリセット)の中核を構成しています。
これがそのうち、たとえば「GMichinori」なるメソッドをポンっと1つ載せるだけで、たとえばマップのコントローラをaddControlメソッド1つで設置できるのと同じように、クリックした点をつないで積算距離を表示するスイッチ(ボタン)や距離表示ウィンドウがデフォルトで実装されちゃったりするんではないかということです。
今のバージョン2でさえ、ある二点間の距離については、三角関数のソースを書かなくても、GLatLngメソッドクラスを使うことによってラクラク計算できるようになっていますね。(【僕の歩いた跡に道はできる】は、GoogleMapsバージョン1の頃の本を元に作った)
処理の詳しい原理がわからなくても、あるメソッドが何をやってくれるのかだけわかっていれば、メソッドをポンっと載せてあげるだけで、やりたいことが実現できてしまう。したがって、そのメソッドの使い方だけ考えればいい…ソースを書か(け)ない人にとっては、実に喜ばしい事態です^^;;;
するともはや技術面での革新性じゃあなくて、どんどん編集自体がカンタンになっていく(であろう)GoogleMaps上に、(どんなメソッドを開発するかよりも)どんな情報を載せるか、どんな切り口で載せるかという、もっぱらコンテンツの取捨選択がポイントになる気がします…。
あと、どれだけアクセス数を増やすか。
これまではクラス、メソッド、プロパティ、関数を丁寧に根気よく組み合わせて、あちこちの愛好家が自分でいろいろな機能を開発してきたと思います(このあたりの言葉の使い方は、不正確かも…まだ理解が十分でないので)。そうやって苦労して実装させていた機能が、そのうち、ある用意されたメソッドをポンと載っけてオシマイ、とかになるんじゃなかろか?というか、そうなりつつあります。
たとえば「地図上で距離を測るサンプル【僕の歩いた跡に道はできる】」では、
●GEventオブジェクトにより、
clickというイベントが発生したら、
・クリックされた点の座標を取得する
・その座標間をGPolylineにより線で結ぶ
・線を新しいオーバーレイに描画する
・後述の関数Gdistanceによって算出された"dist"をHTML上に表示する
●Gdistanceという名前で定義する関数による値distの算出
・(詳細は略。地球を球体とみなして、三角関数で算出している)
●clearPointsという名前で定義する関数によって
・クリックで取得する座標群について、新しい配列を用意する
(=これまで取得したものを消す)
・すべてのオーバーレイを消去する
(=描画された直線を消す)
・distの値ではなく、"0"を表示する
これら1つのオブジェクトと、それに付随する2つの関数が、道のりを測る機能(とリセット)の中核を構成しています。
これがそのうち、たとえば「GMichinori」なるメソッドをポンっと1つ載せるだけで、たとえばマップのコントローラをaddControlメソッド1つで設置できるのと同じように、クリックした点をつないで積算距離を表示するスイッチ(ボタン)や距離表示ウィンドウがデフォルトで実装されちゃったりするんではないかということです。
今のバージョン2でさえ、ある二点間の距離については、三角関数のソースを書かなくても、GLatLng
処理の詳しい原理がわからなくても、あるメソッドが何をやってくれるのかだけわかっていれば、メソッドをポンっと載せてあげるだけで、やりたいことが実現できてしまう。したがって、そのメソッドの使い方だけ考えればいい…ソースを書か(け)ない人にとっては、実に喜ばしい事態です^^;;;
するともはや技術面での革新性じゃあなくて、どんどん編集自体がカンタンになっていく(であろう)GoogleMaps上に、(どんなメソッドを開発するかよりも)どんな情報を載せるか、どんな切り口で載せるかという、もっぱらコンテンツの取捨選択がポイントになる気がします…。
あと、どれだけアクセス数を増やすか。
他にも完全上位版とも呼ぶべきマップがたーくさんあるし、技術的な優位性というのは何もないのに、なんで「地図上で距離を測るサンプル【僕の歩いた跡に道はできる】」に連日今でもこれだけアクセスがあったり雑誌に載ったりするのかというと、ひとえに「はてなブックマーク」で取り上げられたからという、その一点だけがきっかけなのであった!
より豊富な機能を備えた他のマップがはてなブックマークで取り上げられていれば、そちらの方がさらに広く認知されていたと思う。
これがネット上での現実。
インターネット上のものは何でもタダというのは名言で、ネット上に転がる技術や機能や情報に対してはあまりお金が支払われていなくて、「アクセス数」とか「広告枠」が、実は最も高く取引されているのではなかろうかと、ウェブ上で店長をやっていても思うのだ・・・。
ヘボシステムのくせに何でこんなにモノが売れているのかというと・・・
より豊富な機能を備えた他のマップがはてなブックマークで取り上げられていれば、そちらの方がさらに広く認知されていたと思う。
これがネット上での現実。
インターネット上のものは何でもタダというのは名言で、ネット上に転がる技術や機能や情報に対してはあまりお金が支払われていなくて、「アクセス数」とか「広告枠」が、実は最も高く取引されているのではなかろうかと、ウェブ上で店長をやっていても思うのだ・・・。
ヘボシステムのくせに何でこんなにモノが売れているのかというと・・・
GLatLngはメソッドではありません。クラスです。(^_^;
GLatLngクラスのdistanceFromメソッドで距離を計測するわけですね。
バージョン1の時代は結構面倒だった地図のスクロールも、バージョン2になってpanDirectionメソッド一発でできるようになりました。
しかしまあ、これ以上特化されたメソッドを作っても汎用性がなくなるので、Google自身はやらないでしょうね(誰かがライブラリとして公開する可能性はありますが)。
2006.08.17 13:40 URL | windy #4ARdecsc [ 編集 ]
ご指摘ありがとうございました。修正しておきました。
オブジェクト、クラス、メソッド、インスタンス・・・・これらの概念を体感というか実感できるようでないと、解読にせよ、改造にせよ、先に進めそうにありません@@
トラックバックURL↓
http://charilog.blog21.fc2.com/tb.php/894-80cfaa21
歩行距離を測る
「1日1万歩」といったページを作成しましたが、「実際に歩く(あるいは走る)距離は?」といったら結構大変だったりして・・・車で一旦走ってメーターで確認するくらいしか現実的な方法がなかったところ、「かくげ太」さんのブロ
2006.08.27 11:20 | TriCraft

