1

私が構築しているアプリの div モバイル ページがあります。私が定義するとき:

var latitude = position.coords.latitude;
var longitude = position.coords.longitude;

関数内または関数外のいずれかで、次のように使用してみてください。

latlng1 = new google.maps.LatLng(latitude, longitude);

ページが読み込まれず、css ボーダーなどしか表示されない

ただし、単純に取り外し(latitude, longitude);(40.716948, -74.003563); 挿入latlng1 = new google.maps.LatLng(40.716948, -74.003563);すると機能します。

定義された変数値が LatLng に渡されないのはなぜですか?

ソースの div 部分は次のとおりです。

<!-- My Location -->
<div data-role="page" data-theme="b" id="my_loc" class="page-map1">

  <div data-role="header" data-theme="a">
    <a href="#home" data-icon="arrow-l">Back</a>
    <h1>My Location</h1>
  </div>

  <div data-role="content">

    <h2>Map</h2>

    <div id="map1" class="gmap"></div>

      <script type="text/javascript">
        var map1, latlng1, options1, latitude, longitude;

        //these lat and long variable definitions are messing me up !!
        //latitude = position.coords.latitude;
        //longitude = position.coords.longitude;

        function initialize() { 
          latlng1 = new google.maps.LatLng(latitude, longitude);
          //40.716948, -74.003563);
          //Lat, Lon); 
          //(position.coords.latitude, position.coords.longitude);
          //40.716948, -74.003563); change from new jersey
          options1 = { zoom: 14, center: latlng1, mapTypeId:google.maps.MapTypeId.ROADMAP };
          map1 = new google.maps.Map(document.getElementById("map1"), options1);
        }

        $('.page-map1').live("pagecreate", function() {
          initialize();
        });

        $('.page-map1').live('pageshow',function(){
          console.log("test");
          google.maps.event.trigger(map1, 'resize');
          map1.setOptions(options1); 
        });
      </script>

    </div>
  </div>


  <div data-role="page" id="map" data-theme="a">
    <div data-role="header" data-position="fixed">
      <h1>Page Header</h1>
    </div>
    <div data-role="content">
      <p class="errorMsg">Your location could not be determined.</p>
      <div id="gMap"></div>
    </div>
    <div data-role="footer" data-position="fixed">
      <h4>TRACK</h4>
    </div>
  </div>
  <!-- /My Location -->
</div>
4

1 に答える 1

0

経度と緯度の変数は明らかに入力されていません。それらを設定するには、最初に navigator.geolocation.getCurrentPosition メソッドを呼び出す必要がありますか? ただし、その段階の前であっても、ブラウザで地理位置情報がサポートされていることを確認する必要があります (navigator.geolocation ブール値を確認してください)。

このチュートリアルをチェックして、ロジックをこのように調整してください。それが終わったら、alert/console.log で経度変数と緯度変数を記録して、それらが実際に入力されていることを確認します。

于 2012-11-03T10:02:08.317 に答える