2

新しい Google Time Zone APIを使用しています

マップの緯度/経度のポイントで正確な時間を知るために使用します。

まず、Google がこの API を 6 日前 (2012 年 10 月 10 日) に開始したことを読んだので、この API 呼び出しに関するドキュメントは見つかりませんでした。

次の問題があります。

Google が https の使用を強制すると、クロス ドメイン エラーが発生します。

XMLHttpRequest cannot load https://maps.googleapis.com/maps/api/timezone/json?location=35.209722,-118.300781&timestamp=1350372338&sensor=false Origin http://my_web is not allowed by Access-Control-Allow-Origin.

これは、JSON を取得するための私のコードです。

url = "https://maps.googleapis.com/maps/api/timezone/json?location=35.209722,-118.300781&timestamp=1350372338&sensor=false";  
$.ajax({  
                 url: url,  
                 //data: {},  
                 type: "GET",  
                 crossDomain: true,  
                 dataType: 'json',  
                 //processData: false,  

                 success: function (data) {  
                     console.log('Succes!! Read some data...');  
                 },  
                 error: function (xhr, err) {  
                     console.log("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);  
                     console.log("responseText: " + xhr.responseText);  
                 }  
             });

多くの投稿では、JSON の代わりに JSONP を使用することを推奨していますが、問題は、Google が JSON と XML でのみ応答を提供することです。

クロスドメインの問題なしに https の GET リクエストを行う方法を知っている人はいますか?

ありがとうございます!

4

2 に答える 2

2

クロスドメインの問題なしで https の GET リクエストを作成する方法を知っている人はいますか?

これは Web サービスです。サーバーから取得します (またはサーバーでプロキシを使用します)。

于 2012-10-16T12:52:10.720 に答える
2

YQLコンソールを使用してそれを機能させることができるかもしれません。json呼び出しでそれを使用してjsonデータを取得できます。

コンソール内に次のようなものを配置する必要があります

select * from html where url="https://maps.googleapis.com/maps/api/timezone/json?location=35.209722,-118.300781&timestamp=1350372338&sensor=false"

そして結果を見ることができます。いくつかのサンプル疑似コードの下。xpathに何を使用できるかを自分で見つける必要があります(必要な場合)

var url = 'https://maps.googleapis.com/maps/api/timezone/json?location=35.209722,-118.300781&timestamp=1350372338&sensor=false';
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + url + '" AND xpath="....."') + '&format=json&callback=?';  
$.getJSON(yql,function(data){  
    if(data.results){
     ... do your thing here with the data
    }
}
于 2012-10-16T13:07:30.403 に答える