住所を緯度経度に直したり、緯度経度から住所を求めたりする操作をgeocodingと言って、Google Maps APIを使うとまあたいていのことはできる。 ロケタッチAPIとか、Yahoo!ジオコーダAPIという手もある。 それはともかく、そのへんをパチパチ叩くコードを書いていて、「こんなのもうとっくに誰かが書いてんじゃないかなー」と思ってぐぐってみたらなんかすごいのが出てきた。 Ruby Geocoder 住所と緯度経度の相互変換はもちろん、距離や範囲の扱い、Google以外のAPIへの対応、キャッシュ処理など、「実装しようかなー。でもめんどくさいよね」とか思って先送りしていたような機能がほとんど全部実装されている。 住所の取得 require 'geocoder' # 日本語ロケールに設定 Geocoder.configure( :language => :ja, :units =>
http://robots.thoughtbot.com/how-to-handle-large-amounts-of-data-on-maps/ thoughtbotのTheodore Calmesが、87,000件のホテルのデータ (位置/名称/電話番号)を効率よく表示するように工夫した事例を紹介しています。再検索させることなく、ユーザが地図をズームとパン(拡大縮小 & 移動)するのに合わせてデータを更新し、ユーザが自由にデータを閲覧できるようにしてます。[参考地図] コードはGithubで公開されています。 1) データ構造 画面上に全てのアノテーションを表示するのでなく、ユーザが画面を操作したときに適宜表示するため、ある一定の範囲を効率よく検索で絞り込めるかどうかが重要。ポイントでインデックスするのでなく、四分木を利用してエリアでインデックスすると検索範囲を減らすことができる。 2
Googleマップをプログラマブルに組み込むのに良さそうです。 GoogleマップはAPIの多彩さ、機能の柔軟さもあって様々なサービスで使われています。位置情報や地図を扱おうと思ったら一番に考えるのではないでしょうか。 そんなGoogleマップをさらに手軽に使えるようにしてくれるライブラリがMaplace.jsです。機能は限られますが広範囲に利用できそうです。 まずは簡単なデモ。地図の表示を行います。コードとしてはたった数行です。 // JavaScript var maplace = new Maplace(); maplace.Load(); // or new Maplace().Load(); // HTML <div id="gmap"></div> その結果は次のようになります。 シンプルな地図表示。 次はドロップダウンやリストを使ったマーカーのデモ。マーカーは自動的に中央に表
"+a+"","text/html").body.children[0]} function Uf(a,b){if(!a)return ac;var c=document.createElement("div").style,d=Xf(a);bb(d,function(d){var e=N.Fd&&d in Rf?d:d.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/i,"");0!=e.lastIndexOf("--",0)&&0!=e.lastIndexOf("var",0)&&(d=Of(a,d),d=of(e,d,b),null!=d&&Pf(c,e,d))});return $b(c.cssText||"")} function Yf(a){var b=Array.from(G
ここでは、PlaceEngineサービスを利用して無線LAN電波から現在位置情報を取得して、Google Earthに表示するサンプルを紹介したいと思います。 PlaceEngineの仕組み等に関してはブログ記事「PlaceEngineの仕組み」をご覧下さい。 #!/usr/bin/ruby require 'socket' require 'net/http' require 'win32ole' appk = String.new appk='アプリケーションキーを入れてください' now = Time.now.to_i http=Net::HTTP.new('localhost', 5448) req= Net::HTTP::Get.new("/rtagjs?t=#{now}&appk=#{appk}") rtag='' num_ap=0 result=-100 time=0 beg
Ajaxで動作するGoogleマップなどを画像として保存し、紙に印刷して持ち運ぶ……という作業を行っている人にオススメなのが「Map Grabber」。自動操作によって、複数画面に渡る超巨大範囲を撮影しまくり、自動で一枚の画像に結合してくれるぞ。 地図サイトの画面を印刷して持ち歩く場合、通常は、フルスクリーンサイズ以上の画面を撮影することができない。「細部が分からない倍率にして広い範囲を撮影すべきか、もしくは範囲が狭くなっても細部まで見える倍率にするべきか……」と悩んでしまう。「Map Grabber」は、ブラウザを自動操作でスクロールすることにより、地図画像を複数画面分撮影しまくり、撮影した画像を自動で一つに繋ぎ合わせてくれるツールだ。……「巨大画像を作ったところで、印刷したら細部が潰れるから意味ないんじゃ?」と思うかもしれないが、PC画面と紙は、解像度が全く違う。例えば3000*240
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く