2012-04-05 29 views
2

Places APIを使用しようとしていて、最初はjQueryから$ .ajaxを使用しようとしていましたが、ファイルの最初の要素で予期しないトークンエラーが発生しました。しかし、Places APIからJSONPを取得することはできません。だから、それは返すもののサンプルです、私は私の人生のためにそれがidをコンソールに(初心者のために)印刷するようにすることはできません...誰かが正しい方向に私を向けるかもしれない?Google Places APIからJSONファイルを取得

JSONがある場所から返さ:

{ 
    "html_attributions" : [], 
    "results" : [ 
     { 
     "geometry" : { 
      "location" : { 
       "lat" : 33.7862590, 
       "lng" : -117.8531270 
      } 
     }, 
     "icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png", 
     "id" : "5be9a13a28635cf8fd2ef3c62c24d51277a4ba58", 
     "name" : "Kimmies Coffee Cup", 
     "rating" : 3.30, 
     "reference" : "CnRpAAAANKLoOHJ1STFaFavIPjm2bpMDneGTv0AXfixyl-koF7KSK-lQSldk3c01RFJu9Gf62zXnRScte-dkPCBU8KuxCo7AMctfuaIhNkPE8RKENF9HeMlkuEg-Scp97--1VWJvjpNQjc6xRvdXsbf7V8NrSRIQnXjZBKbrSeSg2sTwBosKghoUEFlNDIN5cnVbn5n7aNtwycord-E", 
     "types" : [ "restaurant", "food", "establishment" ], 
     "vicinity" : "190 S Glassell St # B, Orange" 
     } 
     ] 
} 

そして、これは私がしようとしていたが、明らかに私はもうそれを使用することはできません何です...

$(document).ready(function() { 
    $.ajax({ 
     url: 'https://maps.googleapis.com/maps/api/place/search/json', 
     dataType: 'jsonp', 
     type: 'GET', 
     data: { 
     location: '33.787794,-117.853111', 
     radius: 100, 
     name: 'coffee', 
     key: 'KEY_HERE', 
     sensor: false, 
     }, 
     success: function(data) { 
     console.log(data.results[0].id); 
    } 
    }); 
}); 

を任意の提案は素晴らしいことだ、感謝を!

答えて

0

jQueryにはJSONからjavascriptオブジェクトを作成するparseJSONメソッドがあります。

あなたはこのオブジェクトを作成したら、次に

obj.resultsはあなたの結果の配列を返します。

結果[0] .idは、最初の結果のIDを返します。

+0

私はそれが私の状況に適用されているかどうかはわかりませんでした。私はその機能にデータ(場所、半径、名前、キー、センサー)をどのように追加するのかが完全にはわかりません。その部分はどこに行くの?ありがとう! – sfgiants2010

0

jsonpの代わりにjsonというデータ型を使用すると、結果はどうなりますか?

+0

XMLHttpRequestでhttps://maps.googleapis.com/maps/api/place/search/json?location=33.787794%2C-117.853111&radius=100&name=coffee&key=MY_KEY&sensor=falseを読み込めません。 Origin http://website.comは、Access-Control-Allow-Originによって許可されていません。 – sfgiants2010

0

idを印刷するのにforループは必要ありません。削除してから試してみることができます。また、「myResult」が何であるかもわかりません。どこにも定義されていないようです。

+0

申し訳ありませんが、半分を変更した関数を貼り付けたものをコピーします... myResultが渡されたパラメータになっています。投稿を編集します。そして、ループなしで同じ結果が得られました。私は、loop.logコマンドでループ(テーブルを生成)で行っていた処理を単純化し、問題を切り分けました。 – sfgiants2010

+0

私の提案は、成功関数で「データ」として得ているものを正確に見るためにJSデバッガを使用し、それに応じてデータにアクセスすることです。 –

+0

JSデバッガを実際に使用したことはありませんが、Chrome用に推奨していますか? – sfgiants2010

関連する問題