第56章 Geocoder


Geocoder コンポーネント

Camel 2.12 以降で利用可能
geocoder: コンポーネントは、特定のアドレスまたは逆引きルックアップの地理コード(latitude および longitude)を検索するために使用されます。コンポーネントは、Google Geocoder ライブラリーに Java API を使用します。
Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-geocoder</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
Copy to Clipboard Toggle word wrap

URI 形式

geocoder:address:name[?options]
geocoder:latlng:latitude,longitude[?options]
Copy to Clipboard Toggle word wrap

オプション

Expand
プロパティー デフォルト 説明
言語 en 使用する言語。
headersOnly false ヘッダーで エクスチェンジのみを補完 し、ボディーをそのまま残すかどうか。
clientId このクライアント ID で google Premium を使用するには、以下を実行します。
clientKey このクライアントキーで google Premium を使用するには、以下を行います。
httpClientConfigurer null Camel 2.17: レジストリーの org.apache.camel.component.geocoder.http.HttpClientConfigurer への参照。
clientConnectionManager null Camel 2.17: カスタム org.apache.http.conn.ClientConnectionManager を使用します。
URI にクエリーオプションは ?option=value&option=value&.. の形式で追加できます。

Proxy

以下のプロキシーオプションを Geocoder エンドポイントに設定することもできます。
Expand
プロパティー デフォルト 説明
proxyHost null Camel 2.17: プロキシーのホスト名。
proxyPort null Camel 2.17: プロキシーポート番号。
proxyAuthMethod null Camel 2.17: プロキシーの認証メソッド( Basic または Digest のいずれか。NTLM
proxyAuthUsername null Camel 2.17: プロキシー認証のユーザー名。
proxyAuthPassword null Camel 2.17: プロキシー認証のパススルー。
proxyAuthDomain null Camel 2.17: プロキシー NTML 認証のドメイン。
proxyAuthHost null Camel 2.17: プロキシー NTML 認証用のオプションのホスト。

エクスチェンジデータ形式

Camel はボディーを com.google.code.geocoder.model.GeocodeResponse タイプとして配信します。また、アドレスが current の場合、応答は現在 の場所の JSON 表現を持つ String 型になります。
オプション headersOnlytrue に設定されている場合、メッセージボディーはそのまま残り、ヘッダーのみが Exchange に追加されます。

メッセージヘッダー

Expand
ヘッダー 説明
CamelGeoCoderStatus 必須。ジオコーダーライブラリーのステータスコード。ステータスが GeocoderStatus.OK の場合、追加のヘッダーが補完されます。
CamelGeoCoderAddress フォーマットされたアドレス
CamelGeoCoderLat 場所のお気に入り。
CamelGeoCoderLng 場所が長くなります。
CamelGeoCoderLatlng 場所のお気に入りと長い場所です。コンマで区切ります。
CamelGeoCoderCity 都市の長い名前。
CamelGeoCoderRegionCode リージョンコード。
CamelGeoCoderRegionName リージョン名。
CamelGeoCoderCountryLong 国の長い名前。
CamelGeoCoderCountryShort 国の短縮名。
使用中の利用可能なデータおよびモード(アドレス対 latlng)によっては、すべてのヘッダーが提供されるわけではないことに注意してください。

サンプル

以下の例では、Paris、France の latitude と longitude を取得しています。
  from("direct:start")
    .to("geocoder:address:Paris, France")
Copy to Clipboard Toggle word wrap
CamelGeoCoderAddress でヘッダーを指定すると、エンドポイント設定が上書きされるため、Copenhagen の場所を取得するには、以下のようにヘッダーでメッセージを送信できます。
template.sendBodyAndHeader("direct:start", "Hello", GeoCoderConstants.ADDRESS, "Copenhagen, Denmark");
Copy to Clipboard Toggle word wrap
latitude と longitude のアドレスを取得するには、以下を実行できます。
  from("direct:start")
    .to("geocoder:latlng:40.714224,-73.961452")
    .log("Location ${header.CamelGeocoderAddress} is at lat/lng: ${header.CamelGeocoderLatlng} and in country ${header.CamelGeoCoderCountryShort}")
Copy to Clipboard Toggle word wrap
ログを作成する
Location 285 Bedford Avenue, Brooklyn, NY 11211, USA is at lat/lng: 40.71412890,-73.96140740 and in country US
Copy to Clipboard Toggle word wrap
現在の場所を取得するには、以下のように current をアドレスとして使用します。
  from("direct:start")
    .to("geocoder:address:current")
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat