2016-05-18 8 views
0

JavaScriptにはかなり新しく、テキストフィールドに経度と緯度を表示するGoogleジオコーダ機能を試してみることを練習中です。私は私が持っているコードは、エラーなどとにかく、JSコードは、私が持っている(GeoCoder.js)このように見えますが含まれていると確信している:私はまた、HTMLファイル(Addresses.html)を、構築してい フォームからのアドレスの読み取りと経度と緯度の出力

function codeAddress() 
{ 
    var geocoder = new google.maps.Geocoder(); 
    var address = document.getElementById("address").value; 
    geocoder.geocode({'address': address}, function(results, status) { 
     if(status == google.maps.GeocoderStatus.OK) 
     { 
      var latitude = results[0].geometry.location.lat(); 
      var longitude = results[0].geometry.location.lng(); 
      document.getElementById("latitude").value = latitude; 
      document.getElementById("longitude").value = longitude; 
     } 
     else 
     { 
      alert("Geocode was not successful for the following reason: " + status); 
     } 
    }); 
} 

たから私は住所を読み、経度/緯度を出力することを期待しています。

<head> 
    <script type="text/javascript" src="GeoCoder.js"></script> 
</head> 
<h2>Location</h2> 
<form name="myform"> 
    <div> 
     Address:<br> 
     <input type="text" id="address" name="address"> 
     <input type="button" name="Click" id="firstButton" onclick="codeAddress()"> 
    </div> 
    <div> 
     Output:<br> 
     <input type="text" id="longitude"> 
     <input type="text" id="latitude"> 
    </div> 
</form> 

は私がこれまで持っているものが不完全であることを承知しているし、それがすることになっているとして機能していない:私のhtmlファイルは、次のように見えます。エラーを指摘して、テキストフィールドに住所を入力して隣のボタンを押すと、住所の下にある出力フィールドに経度と緯度が出力されるように、エラーを指摘して助けてください。

+0

最初にすべきことは、デバッグについてです。ブラウザでF12キーを押すと、いくつかのツールが表示されます。それらを学ぶことで、あなたが物事を試して、起こり得るエラーを見ることができるようになるだけで、JavaScriptを自分で学習するのに役立ちます。 –

+0

ありがとう、マイク。私はFireBugを使用していませんでしたが(明らかにこれはかなり役に立ちました)、私がそれを開いたら、私のエラーが私の警告を見るのを妨げているのを発見しました。私はgoogleapiのためのスクリプトを含めることを忘れました。 – LearningJS888

答えて

0

それでもにできない正しい値を持つ最後のものを除いて、すべての警告メッセージを取得した場合、あなたが....

function codeAddress() 
{ 
var geocoder = new google.maps.Geocoder(); 
var address = document.getElementById("address").value; 
alert("address : "+address);// should display text you entered in input field 
geocoder.geocode({'address': address}, function(results, status) { 
if(status == google.maps.GeocoderStatus.OK) 
{ 
alert("entered if statement");// you have entered if statement 
var latitude = results[0].geometry.location.lat(); 
var longitude = results[0].geometry.location.lng(); 
alert("latitude : "+latitude+" : longitude : "+longitude);// display values of latitude and longitude. 
document.getElementById("latitude").value = latitude; 
document.getElementById("longitude").value = longitude; 
} 
else 
{ 
alert("Geocode was not successful for the following reason: " + status); 
} 
}); 
} 

これを試してみて、私はあなたを助けることができるように結果が何であるかを私に言うことができます入力フィールドに値を設定してください...

document.getElementById("latitude").innerHTML = latitude; 
document.getElementById("longitude").innerHTML = longitude;  
+0

これを試して、エラーがあれば教えてください。 – Arun

+0

今すぐ試してみます。ありがとうございました。 – LearningJS888

+0

表示するすべてのアラートを取得しました。さて、もし私が "Output:"の下に生成したテキストフィールドに私の経度と緯度を出力したいのであれば、どうすればそれをやりますか? – LearningJS888

関連する問題