iPhone+AndroidサイトからGoogleMap(ネイティブアプリ)を立ち上げる。 | φ(..)メモとして残しておこう…

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){…」で良くね?…とか思ったり。