Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第56章 Geocoder
Geocoder コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.12 以降で利用可能
geocoder: コンポーネントは、特定のアドレスまたは逆引きルックアップの地理コード(latitude および longitude)を検索するために使用されます。コンポーネントは、Google Geocoder ライブラリーに Java API を使用します。
Maven ユーザーは、このコンポーネントの
pom.xml
に以下の依存関係を追加する必要があります。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
geocoder:address:name[?options] geocoder:latlng:latitude,longitude[?options]
geocoder:address:name[?options]
geocoder:latlng:latitude,longitude[?options]
オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
プロパティー | デフォルト | 説明 |
---|---|---|
言語
|
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 エンドポイントに設定することもできます。
プロパティー | デフォルト | 説明 |
---|---|---|
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 型になります。
メッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ヘッダー | 説明 |
---|---|
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")
from("direct:start")
.to("geocoder:address:Paris, France")
CamelGeoCoderAddress
でヘッダーを指定すると、エンドポイント設定が上書きされるため、Copenhagen の場所を取得するには、以下のようにヘッダーでメッセージを送信できます。
template.sendBodyAndHeader("direct:start", "Hello", GeoCoderConstants.ADDRESS, "Copenhagen, Denmark");
template.sendBodyAndHeader("direct:start", "Hello", GeoCoderConstants.ADDRESS, "Copenhagen, Denmark");
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}")
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}")
ログを作成する
Location 285 Bedford Avenue, Brooklyn, NY 11211, USA is at lat/lng: 40.71412890,-73.96140740 and in country US
Location 285 Bedford Avenue, Brooklyn, NY 11211, USA is at lat/lng: 40.71412890,-73.96140740 and in country US
現在の場所を取得するには、以下のように current をアドレスとして使用します。
from("direct:start") .to("geocoder:address:current")
from("direct:start")
.to("geocoder:address:current")