DraftPadにGoogleMapsを組み込んでみました

Googleがそろそろ地図アプリを発表しそうなので。


iOS6でGoogleストリートビューを見るWebアプリ(その2) - W&R : Jazzと読書の日々
その後、修行を積みました。住所をポップアップしたり、緯度経度をリアルタイムに出したり、口から火を吹いたり。けれど、それは必要なことなんだろうか。初めは多機能化に進みかけたけれど、複雑なことなら専用アプ...
せっかく作ったWebアプリも風前の灯。仕方ないのでDraftPadに寄生させることにしました。Webアプリの弱点はURLスキームが使えないこと。一度起動してからじゃないと地名検索ができない。それと、他のアプリを立ち上げたびリセットされる使いづらさ。こうした弱点はDraftPadに入れることで解消します。


DraftPad 1.6.2
カテゴリ:仕事効率化,ユーティリティ
価格:無料 (Manabu Ueno)
DraftPadの利点は、内蔵ブラウザの柔軟性。ほとんど手直しなしに移植できました。「&」と「%」をエンコードしただけ。

Title: GoogleMaps検索
URL: draftpad://self/web?source=<head><title>GoogleMaps</title><script src=https://maps-api-ssl.google.com/maps/api/js?v=3%26sensor=true type=text/javascript></script><script>var g;var map;function init(){g=new google.maps.Geocoder();myOptions={zoom:17,mapTypeId:google.maps.MapTypeId.ROADMAP,overviewMapControl:true,mapTypeControlOptions:{style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},zoomControl:true,zoomControlOptions:{style:google.maps.ZoomControlStyle.LARGE,position:google.maps.ControlPosition.LEFT_BOTTOM}};map=new google.maps.Map(document.getElementById('canvas'),myOptions);codeAddress()}function codeAddress(){a=document.getElementById('address').value;g.geocode({address:a},function(results,status){if(status!=google.maps.GeocoderStatus.OK){navigator.geolocation.getCurrentPosition(function(p){x=new google.maps.LatLng(p.coords.latitude,p.coords.longitude);MapSet(x)})}else{MapSet(results[0].geometry.location)}})}function MapSet(x){map.setCenter(x);var marker=new google.maps.Marker({map:map,position:x,draggable:true,animation:google.maps.Animation.DROP});google.maps.event.addListener(marker,'click',function(){g.geocode({latLng:marker.getPosition()},function(results){new google.maps.InfoWindow({content:results[0].formatted_address}).open(map,marker)})})}</script></head><body onload=init() style=margin:0><div id=canvas style=height:100%25></div><div style=position:absolute;bottom:0;right:0;z-index:99><input id=address type=textbox placeholder=現在地 value="<@>"><input type=button value=検索 onclick=codeAddress()></div></body>

登録リンクはこちら→ http://tinyurl.com/awajhen
(追記)iPhoneでもDraftPadからGoogleMaps検索できるようにしました



DraftPadに地名を書いてアシストを起動すれば地図になります。あるいは地名を選択状態にしてアシスト起動。やはり場所検索してこそGoogleマップ。出てきたときの見やすさが違う。右下の検索窓にも地名を表示。カーソル行を対象にするので、もし空行なら現在地を出すように改良しました。



左上のペグマンさんをドロップしてストリートビューに切り替え。ペグマンさんがやる気モードになると、地図上の道が青く光ります。ドラッグ中でもサムネを表示。ストリートビューを閉じるときは、右上の「×」を二度タップしてください。一度ヒットすると少し白くなり、もう一度ヒットすると地図に戻る。難易度高めなので、心を落ち着け、指先から波紋を出せるように集中すること。



ピンをドロップしてもストリートビューにはなりません。前回のままなら出来るのですが、今回は省いてます。その代わり、ピンをタップすると住所が表示されます。つまり、住所調べに使おうという趣旨です。



左下の「Google」ロゴをタップすると、地図の位置はそのままに、ルート検索に変わります。というか、Web版のGoogleマップになるので、そちらが必要なときに呼び出せます。現在地からの乗換案内が出てくるから便利だったりする。
Googleが公式マップを出したとしても、検索用スキームが装備されない可能性がある。それは、Googleが出してきたアプリ全般にある傾向で、Google検索やYouTubeなんて外からキーワード付きで呼び出せないと活用しにくいのに、なぜか無い。もしかしたらURLスキームで盛り上がってるのは日本限定なのか?と思っちゃいます(もっと一部限定?)。
iOS6のURLスキームをお手軽に調べる決定版 SchemeTaker