0

複数ページのモバイル アプリを作成しようとしていますが、うまくいけば 2 ページだけで、位置情報の緯度と経度を 2 つの別々のフォーム テキスト入力に入れたいと考えています。ボタンのプッシュまたはタップでこれが発生することを望みます。

私は本当に方法がわかりません:

  1. フォームのテキスト入力フィールドをターゲットにする
  2. 関数を書く

これが私がこれまでに持っているものです:

<div data-role="fieldcontain">
    <label for="GPS Location">GPS Lat</label>
    <input name="GPS Lat" id="GPSlat" value="" type="text">
</div>
<div data-role="fieldcontain">
    <label for="GPS Location">GPS Long</label>
    <input name="GPS Long" id="GPSlong" value="" type="text">
</div>

<div data-role="content">
    <script type="text/javascript">
        navigator.geolocation.getCurrentPosition(function(position)
        { 
            var lat = pos.coordinates.latitude;
            var lng = pos.coordinates.longitude;
            console.log( lat + ":" + lng);
        });
    </script>
</div>

<input value="SetGPS" id="SetGPS" data-inline="true" type="submit">
<br>
<div data-role="content">
    <script type="text/javascript">  
        $("#SetGPS").click(function(){
        $("#GPSlat input").text(lat);
        $("#GPSlong input").text(lng)
    </script>
</div>          
4

1 に答える 1

0

名前と構文のエラーがいくつかあります。

  • 作成した関数getCurrentPositionは というパラメーターを受け取りますがposition、その中を参照しますpos
  • lat上記の関数内で定義されているため、関数lngでは使用できませんclick
  • を参照してcoordinatesいますが、フィールドは実際には と呼ばれcoordsています。
  • 入力フィールドのテキストを設定していますが、値を設定する必要があります
  • 入力セレクターが正しくありません。彼らはする必要がありますinput#id
  • クリック機能に右中かっこと大かっこがありません。

コードは次のようになります。

var lat, lng;

navigator.geolocation.getCurrentPosition(function(position)
{ 
    lat = position.coords.latitude;
    lng = position.coords.longitude;
    console.log( lat + ":" + lng);
});

// ...

$("#SetGPS").click(function()
{
    $("input#GPSlat").val(lat);
    $("input#GPSlong").val(lng);
});
于 2013-06-28T01:01:35.623 に答える