ホームページ  >  記事  >  ウェブフロントエンド  >  Google (ローカル) 検索 API の使い方の簡単な紹介_JavaScript スキル

Google (ローカル) 検索 API の使い方の簡単な紹介_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 17:12:051159ブラウズ

Google の API を使用してこのような小さなものを作成するのに 2 日かかりましたが、実際の実装コードはわずか数行でした。時間のかかる作業は、各 API の機能の理解と JavaScript のデバッグです。

今回使用した機能を簡単に紹介します。

•コンストラクター google.search.LocalSearch()

これは実際に LocalSearch サービスを作成します。このサービスは、他のサービス (ニュース、ブログ、Web) と同様に、SearchControl によって使用されます。これらのサービスによって、SearchControl の機能が決まります。

•LocalSearch の検索構造タイプを設定します

localSearch.setRestriction(google.search.Search.RESTRICT_TYPE, google.search.LocalSearch.TYPE_KMLONLY_RESULTS)

これは、検索結果にビジネス結果はなく、kml とジオコードの結果のみが含まれていることを意味します

•LocalSearch の検索範囲を設定します

localSearch.setCenterPoint("北京");

•google.search.SearcherOptions()

検索サービス (Searcher) のプロパティを設定し、それを SearchControl.addSearcher() の属性として使用します。次のオプションが利用可能です:


1. 結果の表示モードを設定します
•searcherOptions.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN);

2. プロフィールに検索結果がない場合に表示されるテキスト

• searcherOptions.setNoResultsString(google.search.SearchControl.NO_RESULTS_DEFAULT_STRING);

3. 結果を表示する位置を設定します

•searcherOptions.setRoot(resultCanvas);

•new google.search.DrawOptions();

Google 検索コントロールの表示モードを設定します

•drawOptions.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED)

表示モードをタブ モードに設定します。つまり、各検索ツールがタブのように表示されます

•drawOptions.setInput(document.getElementById("input"));

検索入力ボックスのデフォルト値をユーザー定義の入力ボックスに変更します


ユーザーが選択した検索結果を、対応する GResult オブジェクトとして返します。たとえば、LocalSearch の GResult は GLocalResult です。

このオプションを見つけるのに長い時間がかかりました。理由は 2 つあります。1 つは、このオプションを使用している人が少なく、ドキュメントが少ないことです。次に、英語の文書を読むのに時間がかかりました。実際、中国語の文書を読むともっと時間がかかると思います。

•searchControl.setOnKeepCallback(this, LocalSearchKeepHandler);

ちなみに、自動的に返される GResult オブジェクトをパラメータとする LocalSearchKeepHandler のコードを貼り付けます。

コードをコピー コードは次のとおりです。

function LocalSearchKeepHandler(result) {
var from = document.getElementById("from");
alert("result.tilte = " result.title);
from.value = ProcessString(result.title);
alert("from. value = " from.value);
//alert(result.title);
}

読みやすいように、このコード全体を投稿してください
コードをコピーします コードは次のとおりです:

google.load("search", "1", {" language": "zh-CN"});
functionInitialize() {
//LocalSearch オブジェクトの作成に使用されます。地図のローカル検索サービス
var localSearch = new google.search.LocalSearch(); 
// ローカル検索結果を kml およびジオコーディング結果のみに制限し、ビジネス結果は含まない
localSearch.setRestriction(google.search.Search.RESTRICT_TYPE, google.search.LocalSearch.TYPE_KMLONLY_RESULTS);            
// ローカル検索の中心点を設定します
localSearch.setCenterPoint("北京"); 
//これは、結果が表示される場所を設定するために使用される、オプションのパラメーターであるローカル検索に関するものです
var resultCanvas = document.getElementById("resultCanvas");      
//オプション: オープン、代替ルート
var searcherOptions = new google.search.SearcherOptions();
//多くの結果を表示
searcherOptions.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN);
//結果メッセージなし
searcherOptions.setNoResultsString(google.search.SearchControl.NO_RESULTS_DEFAULT_STRING);
//options.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED);//ウェブ、ローカル...タブ内で show
searcherOptions.setRoot(resultCanvas); //結果を別の場所に表示します--

//ローカル検索サービスを含む検索サービスの作成に使用される SearchControl オブジェクト
var searchControl = new google.search .SearchControl(null);
searchControl.addSearcher(localSearch, searcherOptions); 
searchControl.addSearcher(new google.search.WebSearch());
searchControl.addSearcher(new google.search.NewsSearch());
searchControl.addSearcher(new google.search.BlogSearch()) ;
//オプションを描画し、タブ付きビューに設定します。
vardrawOptions = new google.search.DrawOptions();
drawOptions.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED)
/ /searchControl が結果を返すようにします:GResult
searchControl.setOnKeepCallback(this, LocalSearchKeepHandler);//検索結果を保持します
//このオプションは、DOM ツリー内の検索ボックスの位置を設定するために使用されます。
//drawOptions.setSearchFormRoot(document.getElementById("drawOptions"));
//入力ボックスをユーザー定義要素に設定します
//drawOptions.setInput(document.getElementById("input"));
// 検索ボックスに自身を描画し、どこに添付するかを指示します
// searchControl.draw(document.getElementById("searchBox"),drawOptions);//ここで、fromaddress と toaddress を検索に変更しました。新しい場所
//別のユーザー定義の入力ボックス
drawOptions.setInput(document.getElementById("input2"));
searchControl.draw();
/**以下のコードは、Google Ajax Map Search API に関するものです
//このコード セグメントは、検索結果を表示するサイドバーを追加するために使用されます
//なぜここに 'var' が存在しないのでしょう
optinos = new Object();
options.resultList = resultCanvas;
options.resultFormat = "multi-line1";
var lsc2 = new google.elements.LocalSearch(options);
map.addControl( lsc2, 新しい GControlPosition(G_ANCHOR_TOP_LEFT, 新しい GSize(-282, -2)));
   */
}
google.setOnLoadCallback(initialize);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。