2011-10-17 14 views
2

現在、私は位置認識サイトを作成するプロジェクトを進めています。要するに、ユーザーがページに来て、その場所がHTML5メソッドを使用して見つかった後、jQueryを使用して場所がページにポストされ、場所/アドレスがcodeigniterセッションに保存されますが、別の場所に変更すると(現在の住所ではなく場所として住所を使用したい場合)、jQueryのカラーボックスが表示され、カスタムアドレスに入力できるようになります。ジオロケーションとjQuery - ajaxを使用して結果を投稿できません

すべてが最初の位置を取得するために完璧に動作しますが、私は試してみて、更新された位置が保存され得るとき、私はエラーが表示される「キャッチされない例外TypeError:オブジェクトは、[オブジェクトがDOMWindow] 『LAT』方法はありません」そして、そのGoogle Chromeの参照はjQueryではなくGoogle Maps API用のファイルにあるエラーとして参照されます。助言がありますか?

jQuery('.inputsubmit').click(function() { 

//Takes values from user submitted fields and parses them into an address string 
var street = jQuery('.inputaddress').val(); 
var city = jQuery('.inputcity').val(); 
var state = jQuery('.inputstate').val(); 


var address = street +" "+ city +", " +state; 

    geocoder = new google.maps.Geocoder(); 
    var geocoderresult= geocoder.geocode({'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      var newlocation = results[0].geometry.location; 

       //Posts coordinates and address string to a CodeIgniter function to update users session information 
       jQuery.post("somepage", {location: newlocation, address: address},function(data) { 
      alert("Data Loaded: " + data); 
      }); 

     } else { 
      alert("Geocoder failed due to: " + status); 
     } 
    }); 

}); 

私は仕事をするためのポストを得るために考えることができるすべてを試しました。ポイントまですべてのコードが動作し、私はポストラインをコメントアウトして、すべて正常に動作します。これは私たちの主要なウェブサイトの機能の一つで、場所に基づいて瞬時に迅速な結果を提供します。

ありがとうございます!

+0

投稿されたjavascriptコードのどの行でエラーが発生しますか? Chromeのインスペクタはこれを伝える必要があります –

+0

map apiファイルのmain.jsの行12 – etombaugh

+0

@matt b - Google Maps API内で起こっています。 "Google ChromeはjQueryではなくGoogle Maps API用のファイルでエラーとして参照されます。"これは、通常、APIが期待していないAPIにパラメータを渡したことを意味します。これをデバッグするには、APIに渡すパラメータの値を確認します。 –

答えて

0

Google APIコードを元のページに加えてsomepageにロードする必要があると思います。 $.POSTlatオブジェクトを見つけることができないため、geolocation.jsファイルはsomepageに含まれていないようです。

関連する問題