2013年7月24日水曜日

GeoHex をつかってみた2

昨日の続き

表示するところまでは、確認したんだった。
表示の際に Google Map の API キーが必要なはずだが、少し前までは不要で、また今の段階では必要との記述を見た。

確認を取ってから作業をしようと思って調べてみた所、

み、見えないか。。。

Google Maps JavaScript API V3 は、API キーがなくても正常に機能します。
ただし、キーを使うとアプリケーションの Maps API の使用状況をチェックできるようになるため、Maps API を読み込む際には API コンソールキーを使用することを強くおすすめします。
API コンソールキーの使い方については、こちらをご覧ください。

とある。
う~ん使用状況をチェック出来るようになるためときたか。
第三者が悪用した時に自分ではないと言う事を立証するために必要とかそういう無いようだったと思うな。
が、しかし今回は外部には出さないから面倒なのでなしで動かすようにした。

さて、マス目が表示されたところで、何が出来るかを確認してみようと思った。
使い方とかは、ドキュメントが見あたらないので、ソースを見て何となくでやっていく事にした。

そこで、気になる点としては、バージョンが 3 つ位有って、計算処理用と表示用と 2 つのスクリプトファイルに分かれている。
この組み合わせについて、確認してみたところバージョン3で、表示用のスクリプトを使ってみようとしたが、JavaScript のエラーがでたので、共にバージョン 2 の物を使用する事とした。

あと、表示系がなぜバージョン3には無いかは、以下のスライドの 79 ページにある
マップレスとかいう単語が関係しているかもしれない。
http://sssslide.com/www.slideshare.net/sa2da/html523geohex

とりあえず、バージョン 2 の物を使えば表示はされるので、とりあえずの確認はバージョン 2 を使ってやってみたいと思う。

今回確認した GeoHex のオブジェクトとメソッドは、以下の通り


オブジェクト

GeoHex オブジェクト

GeoHexを扱うためのオブジェクト
バージョン2 では GeoHex だが、バージョン 3 では GEOHEX となっている。
ややこしい。

 Zone オブジェクト

GeoHex から取得するオブジェクト。
六角形を操作(表示・非表示)の際に使用する。

メンバーとして
x    : ヘックス座標 x 値
y    : ヘックス座標 y 値
code: ヘックスコード
lat   : 中心緯度
lon   : 中心経度

メソッド
var zone = GeoHex.getZoneByLocation(lat, lon, level);

緯度経度から Hex(Zone) オブジェクトを取得する。
lat = 緯度、lon = 軽度, level = 表示のサイズ。
緯度経度に合った Hex オブジェクトが返ってくる。

level については、0 が最大幅の大きさで、 24 が最小(26 としたら表示されたが・・・)
デフォルトは 17 とどこかで読んだ。
また、1レベルで、どのくらいの範囲かについては、最小の図形の対角となるポイントを取得(getHexCoords() メソッドで取得)して、緯度経度距離計算サイトで確認したところ、対角線は 1.324 m  となった。
もう 1 レベル上げると、値はちょうど 2 倍になったので、レベルが 1 レベル上がるごとに、大体 2 乗すれば対角線上の値がわかる。


zone.drawHex(map [, linecolor, filcolor, popinfo])
取得した zone オブジェクトで線を引く。

引数の linecolor/filcolor については、ヘックスの線の色と、塗りつぶしの色を指定できる。
popinfo については、今のところ意味が分からない。



昨日と同じ内容な気はするが、 他のメソッド等は後日書こうと思う。

0 件のコメント:

コメントを投稿