簡體   English   中英

單擊按鈕以在其他頁面上加載Google Maps(jQuery Mobile / JavaScript)

[英]Click Button to load Google Maps on other page (jquery mobile/javascript)

因此,我正在嘗試制作帶有湖面頁面的移動應用程序。 我希望能夠單擊按鈕鏈接,然后轉到顯示地圖的頁面。 這些都是在Jquery mobile中完成的,我不需要外部頁面。 (如“#map-page”)

我已經找到了我通常想要工作的代碼。 但是就讓它在單擊事件中啟動而言,我沒有運氣。 我已經看過多個例子了。 我希望在頁面上加載地圖,因此移動應用程序無需加載大量地圖。

我在jsFiddle上做了一個例子。

http://jsfiddle.net/Ajfvr/

因此,當您單擊指向頁面的鏈接時,我需要將其加載到另一個嵌套頁面(全屏)上,而不是使用onload屬性進行加載。 因此,直到他們單擊鏈接后,js才會啟動。

請幫助<3謝謝。

編碼:

<!DOCTYPE html>
<html>    
  <head> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    <script type="text/javascript" src="../jquery/jquery-1.4.4.min.js"></script>        
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=false&language=en"></script>
    <script type="text/javascript" src="../cordova-2.3.0.js"></script>
        <style>
      html, body, #map_canvas {
        margin: 0;
        padding: 0;
        height: 100%;
      }
    </style>

<script type="text/javascript">
    function detectBrowser() {
    var useragent = navigator.userAgent;
    var mapdivMap = document.getElementById("map_canvas");

    if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1 ) {
        mapdivMap.style.width = '100%';
        mapdivMap.style.height = '100%';
        initialize();
    } else {
        mapdivMap.style.width = '600px';
        mapdivMap.style.height = '800px';
        initialize();
        }
    };

    function initialize() {
        var mapOptions = {
        zoom: 8,
        center: new google.maps.LatLng(43.464258,-80.52041),
        mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById('map_canvas'),
            mapOptions);

        var marker = new google.maps.Marker({
            position: map.getCenter(),
            map: map,
            title: 'Waterloo'
        });
    }

      google.maps.event.addDomListener(window, 'load', detectBrowser);
    </script> 
  </head>
  <body onload="detectBrowser()">
    <div id="map_canvas"></div>
  </body>
</html>

我從您的問題中了解到,您想將地圖加載到一個全新的頁面中。 或者,如果您想在同一頁面上加載地圖,但又延遲了地圖的加載,則只需單擊按鈕即可調用該函數,然后使用Javascript將地圖加載到疊加層DIV中。

jQuery Mobile有一種預取(預先加載)頁面的方法。 如果您想提前加載地圖,也可以考慮一下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM