iPhone+AndroidサイトからGoogleMap(ネイティブアプリ)を立ち上げる。
タイトルからするとなにやらめんどくさそうだけど、PCの場合と一緒で
<a href="http://maps.google.com/maps?q=[Geocode]+[登録名]"></a>
でオッケーという。。。
散々jQuery-UI-MAPとかいじり倒したのに、こっちの方が全然使えるじゃん!
漏れの時間を返せ…たのむ…お願いします。
それはさておき。
jQueryMobileで追加DOMにこいつを仕込む場合には
========追加元のjavascriptコード========
$( '#page' ).live( 'pageinit',function(event){
$("#maplink").append("<a href='http://maps.google.com/maps?q=000.000000,000.000000+ショップ名'>アプリでMAP表示</a>").buttonMarkup();
});
========追加するHTML========
<div id="maplink"></div>
こんな感じでボタンのマークアップしてあげるとおk。
経路検索とか、ネイティブアプリの方が断然使えるし、なんで今まで気付かなかったんだろう…。
DBからPHPとかでデータ引っ張ってきて…の場合は
DOM追加は『<div data-role="page">~</div>の部分しか追加されない』ということに最近になって気がついたりとか…jQueryMobileの挙動をもっと勉強しなきゃと思います。
live() とか bind()でイベント設定するときの順番とかメモ。
■Page show/hide events
・ページロード時のイベント発生の順番
pagebeforecreate
▼
pagecreate
▼
pagebeforeshow
▼
pageshow
・Ajaxページ遷移時のイベント発生の順番
pagebeforecreate
▼
pagecreate
▼
pagebeforehide
▼
pagebeforeshow
▼
pagehide
▼
pageshow
だそうで。
「pagebeforeshow」が何で「pagehide」の前なのか…とか腑に落ちない点はたくさんあるけど…。
基本的には「$('#page').live('pageinit',function(event){…」で良くね?…とか思ったり。