Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the early version of the new website
https://camel.apache.org/staging/
We would very much like to receive any feedback on the new site, please join the discussion on the Camel user mailing list.
Geocoder ComponentAvailable as of Camel 2.12 The geocoder: component is used for looking up geocodes (latitude and longitude) for a given address, or reverse lookup. The component uses the Java API for Google Geocoder library. Maven users will need to add the following dependency to their <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> URI formatgeocoder:address:name[?options] geocoder:latlng:latitude,longitude[?options] Options
You can append query options to the URI in the following format,
ProxyThe following proxy options can also be set on the GeoCoderEndpoint
Exchange data formatCamel will deliver the body as a If the option Message Headers
Notice not all headers may be provided depending on available data and mode in use (address vs latlng). SamplesIn the example below we get the latitude and longitude for Paris, France from("direct:start") .to("geocoder:address:Paris, France") If you provide a header with the template.sendBodyAndHeader("direct:start", "Hello", GeoCoderConstants.ADDRESS, "Copenhagen, Denmark"); To get the address for a latitude and longitude we can do: 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}") Which will log Location 285 Bedford Avenue, Brooklyn, NY 11211, USA is at lat/lng: 40.71412890,-73.96140740 and in country US To get the current location you can use "current" as the address as shown: from("direct:start") .to("geocoder:address:current") |