2011-10-19 112 views
0

好的,所以我是一個noobie,當談到jQuery手機,但我的腳溼了。jQuery Mobile和谷歌地圖不可見

該要點是一個兩頁的手機網站。第一頁是一個簡單的表單,用戶可以選擇幾個選項。當表單被提交時,他們被重定向到第二頁,其中包含「地圖畫布」。但由於某種原因,下一頁只是空白。有時當我點擊後退按鈕時,我可以看到地圖,但是很快。我很難過!

我正在使用jQuery 1.6.4和jQuery Mobile 1.0rc1。

下面是我的一些代碼:

壹HTML:

<div data-role="page" id="one"> 
    <div data-role="content"> 
     <div data-role="fieldcontain"> 
      <form action="" id="mobile-findpath" method="post"> 
       <label for="mobile-start" class="select">Start:</label> 
       <select name="start" id="mobile-start"> 
        <option data-placeholder="true" value="">Current Position</option> 
        {% for node in nodes %} 
        <option value="{{ node.lat }},{{ node.lng }}">{{ node.label }}</option> 
        {% endfor %} 
       </select> 
       <label for="mobile-end" class="select">Dest:</label> 
       <select name="end" id="mobile-end"> 
        {% for node in nodes %} 
        <option value="{{ node.label }}">{{ node.label }}</option> 
        {% endfor %} 
       </select> 
       <a href="/m-map/" data-role="button" data-icon="gear">Show Route</a> 
       <!--<a href="#two" data-role="button" data-icon="gear">Show Route</a>--> 
      </form> 
     </div> 
    </div> 
</div> 

第二頁(圖)HTML:

<div data-role="page" data-title="Map" data-theme="b" class="page-map" style="width:100%; height:100%;"> 
    <div data-role="header"><h1>Map</h1></div> 
    <div data-role="content" style="width:100%; height:100%; padding:0;"> 
     <div id="map_canvas" style="width:100%; height:100%;"></div> 
    </div> 
</div> 

相關JS:

$(".page-map").live("pagecreate", function() { 
    wMobile = WayFinderMobile(); 
    if(navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(function(position){ 
      wMobile.initialize(position.coords.latitude, position.coords.longitude, true); 
     }); 
    } else { 
     wMobile.initialize(38.94617, -92.32866); 
    } 
}); 

回答

3

它看起來像我的問題是雙重的,

一個是問題是,我不得不到指定地圖畫布DIV

<div data-role="content" style="padding:0px;margin:0;"> 
     <div id="map_canvas" style="width:100%;height:350px;"></div> 
</div> 

而且寬度和高度,我必須設置要在地圖所在頁面的「pageshow」事件中創建的地圖。