[iPhone]iPhone 3GのSafariと「マップ / Googleマップ / GMaps.app」の連携:ぐるなびの地図表示地点を「マップ」で表示
iPhone 3GにはGPSが搭載されており、iPhone SDKからもCore Locationを通して位置情報の取得ができるので、今後面白いソフトウェアが出てくるものと予想されます。
ネイティブアプリに踏み込む前に、Safariでも位置情報関係で面白いことはできんかな、ということで、Safariと「マップ / Googleマップ / GMaps.app」の連携をするブックマークレットを簡単に作ってみました。
今回作ったものは、ぐるなびで店を検索し、地図を表示させてからこのブックマークレットを起動すると「マップ / Googleマップ / GMaps.app」が起動、お店の場所にピンを立てられるというものです。
ピンが立った地点をブックマークすればGPSで現在位置を確認しながら店探しができるので、たどり着くのが簡単になるんじゃないでしょうか。
▼まずぐるなびで地図を表示
▼ブックマークから今回のブックマークレットを起動
▼「マップ」が起動して、地図と同じ地点にピンが立ちます
ブックマークレットの登録
あんまりテストしていないので、無保証です。
javascript:var u,l;var pfx="http://maps.google.com/maps?q=";var dl=document.links;for(var i=0;i<dl.length;i++){u=String(dl[i]);if(u.match(/.+map\.php.+/)){rg=/.+pos=(\d+)\/(\d+)\/([0-9.]+),(\d+)\/(\d+)\/([0-9.]+).+/;l=unescape(u).match(rg);for(var j=1;j<l.length;j++){l[j]=parseFloat(l[j]);};lat=l[1]+(l[2]/60)+(l[3]/60/60);lon=l[4]+(l[5]/60)+(l[6]/60/60);lat=lat-lat*0.00010695+lon*0.000017464+0.0046017;lon=lon-lat*0.000046038-lon*0.000083043+0.010040;window.location=pfx+lat+"+"+lon;break;}}
ブックマークレットは、母艦のIEやSafariなど、iPhone 3Gとブックマークレットの同期をしているブラウザに登録して、iTunes経由で登録すると楽かと思います。
あるいは、この「リンク先」をiPhone 3GのSafariにブックマークします。URLには今回のブックマークレットが丸々付いているので、URLの「javascript:」以前を削除すれば登録できます。
ブックマークのURLは、一度ブックマークしてからでないと編集できないので注意してください。
ぐるなびの使う測地系は日本測地系、マップの使う測地系は世界測地系なので、座標変換をしなければなりません。モロデンスキー変換をしなけりゃならないのか、と憂鬱になりましたが、近似値を出す超簡単な変換式を以下のエントリで発見したので、それで難を逃れました。
この場をお借りしてお礼申し上げます。
« [chumby]chumbyにUSBカメラをつないでみた | Main | [iPhone]iPhone 3Gの「カメラ」のシャッター音を消し、あの聞こえづらいメール着信音を変更する »
Recent Comments