0

Placefinder API から情報を取得しようとしています。私のコードは、テキスト ボックスから情報を取得し、ボタンのクリックで yahoo に送信します。

            function codeAddress(){
            var address = document.getElementById("address").value;
            var RequestUrl = "http://where.yahooapis.com/geocode?q="+address+"&flags=J&callback=ws_results&output=json";
            JSONObject = new XMLHttpRequest();
            JSONObject.open( "GET", RequestUrl, false );
            JSONObject.send( null );
            return JSONObject;
            document.getElementByID("jlatitude").innerHTML=JSONObject.latitude;
            alert(document.write("jlatitude"));
        }

Firebug から、データが返されたことが通知されますが、トラブルシューティングのポップアップで必要なものを表示できません。メリーランド州のジオコーディングをリクエストすると、プレースファインダーはこれを返します。

{"ResultSet":{"version":"1.0","Error":0,"ErrorMessage":"No error","Locale":"us_US","Quality":10,"Found":2,"Results":[{"quality":49,"latitude":"39.466626","longitude":"-93.709069","offsetlat":"39.466626","offsetlon":"-93.709069","radius":700,"name":"","line1":"","line2":"Roads, MO","line3":"","line4":"United States","house":"","street":"","xstreet":"","unittype":"","unit":"","postal":"","neighborhood":"Roads","city":"Norborne","county":"Carroll County","state":"Missouri","country":"United States","countrycode":"US","statecode":"MO","countycode":"","uzip":"64668","hash":"","woeid":2482523,"woetype":7},{"quality":49,"latitude":"39.080130","longitude":"-82.537394","offsetlat":"39.080130","offsetlon":"-82.537394","radius":700,"name":"","line1":"","line2":"Roads, OH","line3":"","line4":"United States","house":"","street":"","xstreet":"","unittype":"","unit":"","postal":"","neighborhood":"Roads","city":"Wellston","county":"Jackson County","state":"Ohio","country":"United States","countrycode":"US","statecode":"OH","countycode":"","uzip":"45692","hash":"","woeid":2482522,"woetype":7}]}}

アラート ボックスは表示されませんが、データは保存されます。

ありがとう

4

2 に答える 2

0

JavaScriptのコード例には単純な問題があると思います。YQLからデータを受け取った後return JSONObject;は、次の行が実行されないことを意味します。

トラブルシューティングと確認のために、次のように、戻ったときにコンソールログに書き込むことができます。

function codeAddress(){
    var address = document.getElementById("address").value;
    var RequestUrl = "http://where.yahooapis.com/geocode?q="+address+"&flags=J&callback=ws_results&output=json";
    JSONObject = new XMLHttpRequest();
    JSONObject.open( "GET", RequestUrl, false );
    JSONObject.send( null );
    console.log( JSONObject.responseText );
}
于 2012-08-14T22:44:43.480 に答える
0
$.getJSON(RequestUrl,{},function(result){
  ...
});

これにより、Yahoo! から JSON オブジェクトが適切に取得されます。プレースファインダー

于 2012-08-17T16:38:25.310 に答える