0

このページを開くリンクで rel="external" を実行しているため、DOM がリロードされ、多くの問題が排除されます。

それにもかかわらず、次のコードでは、素敵なヘッダーとフッターを備えた巨大な赤い背景が表示されます。関数が呼び出されているにもかかわらず、マップは初期化されません。誰でも問題を見つけることができますか? このバグは私を永遠に悩ませてきました。rel="external" なしで複数ページのテンプレートとして再設計するなど、何百万ものことを試しましたが、それもうまくいきませんでした。

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css"/>
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
        <script type="text/javascript">
            $(function(){initializeMap(42,-73);});

            function initializeMap(lat,lng) {
                var latlng = new google.maps.LatLng(lat, lng);
                var myOptions = {
                zoom: 8,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
            var crosshairLayer = new google.maps.KmlLayer('http://freezoo.alwaysdata.net/justcrosshair2.kml',
            {preserveViewport: true});

            crosshairLayer.setMap(map);

            google.maps.event.trigger(map, 'resize');
            map.setZoom( map.getZoom() );
            }
        </script>
    </head>
    <body>
        <div data-role="page" data-theme="e" data-add-back-btn="true" class="map1" id="testing">
            <div data-role="header"><h1>Map Page</h1></div>
            <div id="content" style="position:absolute; bottom:40px; top:40px; left:0px; right:0px; background:green;"> 
                <div id="map_canvas" style="position:absolute; top:0px; bottom:0px; width:100%; background:red;"></div>
            </div>
            <div data-role="footer" style="position:absolute; bottom:0px; width:100%;">
                <h1>Working!</h1>
            </div>
        </div>
    </body>
</html>
4

1 に答える 1

2

あなたのコードは Google マップ スクリプトをロードしません。たとえば、次のようにします。

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
于 2012-05-27T00:43:36.213 に答える