4

基本的に私はホテルの検索エンジンを持っており、サイトの上部にオートコンプリートの結果を表示する必要のある検索フィールドがあります。結果はホテルまたは場所(都市)になります。Facebookのオートコンプリートに匹敵します(検索は人、ページなどになります)

基本的なgeonamesjsueryの例から始めました:http://jqueryui.com/autocomplete/#remote-jsonp

しかし、ホテルに自分のJSONAPIを使用する方法がわかりません。JSONホテルをgeonamesのホテルとマージする必要があることはわかっていますか?これを行う方法の抜粋を見せてくれる人はいますか?

4

1 に答える 1

9

最も単純な高レベル コードは次のようになります。requestFromSource1 はジオネームをリクエストする場所、requestFromSource2 は独自のオートコンプリート エンジンをクエリする場所です。

  $( "#city" ).autocomplete({
        source: function( request, response ) {
    var resultFromSource1 = null;
    var resultFromSource2 = null;
    var agregateResults = function(){
        if( resultFromSource1 && resultFromSource2){
            var result = resultFromSource1.concat(resultFromSource2);
            response(result);
        }
    }
    requestFromSource1(function( result ){
        resultFromSource1 = result;
        agregateResults();
    });
    requestFromSource2(function( result ){
        resultFromSource2 = result;
        agregateResults();
    });
        }
    });
});

より複雑なケースは、関連性スコアによるマージです。残念ながら、あなたの場合、このメモは可能です。

于 2012-11-18T19:19:07.957 に答える