本文整理汇总了Java中com.google.code.geocoder.model.GeocodeResponse类的典型用法代码示例。如果您正苦于以下问题:Java GeocodeResponse类的具体用法?Java GeocodeResponse怎么用?Java GeocodeResponse使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
GeocodeResponse类属于com.google.code.geocoder.model包,在下文中一共展示了GeocodeResponse类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: locationToCoordinate
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
public GeocoderGeometry locationToCoordinate(String location) throws IOException {
GeocoderGeometry coordinate = null;
if (location != null && !location.isEmpty()) {
GeocoderRequest request = new GeocoderRequest();
request.setAddress(location);
GeocodeResponse response = geocoder.geocode(request);
if (response.getStatus() == GeocoderStatus.OK) {
List<GeocoderResult> results = response.getResults();
for (GeocoderResult result : results) {
GeocoderGeometry geometry = result.getGeometry();
coordinate = geometry;
break;
}
}
}
return coordinate;
}
示例2: coordinateToLocation
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
public String coordinateToLocation(GeocoderGeometry coordinate) throws IOException {
String location = null;
if (coordinate != null) {
GeocoderRequest request = new GeocoderRequest();
request.setLocation(coordinate.getLocation());
request.setBounds(coordinate.getBounds());
GeocodeResponse response = geocoder.geocode(request);
if (response.getStatus() == GeocoderStatus.OK) {
List<GeocoderResult> results = response.getResults();
for (GeocoderResult result : results) {
location = result.getFormattedAddress();
break;
}
}
}
return location;
}
示例3: testAccurateSearch
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
@Test
public void testAccurateSearch() throws IOException {
//My Home :-)
String myHome = "237 Avenue Jean Jaurès 69007 Lyon France";
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress(myHome)
.setRegion("fr").setLanguage("fr").getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
assertFalse(geocoderResponse.getResults().isEmpty());
GeocoderResult geocoderResult = geocoderResponse.getResults().iterator().next();
LatLng location = geocoderResult.getGeometry().getLocation();
geocoderRequest = new GeocoderRequestBuilder().setLocation(location).setLanguage("fr").getGeocoderRequest();
geocoderResponse = geocoder.geocode(geocoderRequest);
assertTrue(geocoderResult.getFormattedAddress().contains(myHome));
}
示例4: testBoundingCity
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
@Test
public void testBoundingCity() throws IOException {
LatLng limit_southwest = new LatLng("45.434616", "4.479726");
LatLng limit_northeast = new LatLng("45.53778", "4.889763");
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress("st martin").setRegion("fr").setLanguage("fr").getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
assertTrue(geocoderResponse.getResults().size() > 1 );
geocoderRequest = new GeocoderRequestBuilder().setAddress("st martin")
.setRegion("fr")
.setLanguage("fr")
.setBounds(new LatLngBounds(limit_southwest, limit_northeast)).getGeocoderRequest();
geocoderResponse = geocoder.geocode(geocoderRequest);
for(GeocoderResult result : geocoderResponse.getResults()) {
List<GeocoderAddressComponent> addressComponents = result.getAddressComponents();
for(GeocoderAddressComponent addressComponent : addressComponents) {
if (addressComponent.getTypes().contains(GeocoderResultType.ADMINISTRATIVE_AREA_LEVEL_1.value())) {
assertTrue(addressComponent.getLongName().equals("Rhône-Alpes"));
}
}
}
}
示例5: testSitraObject
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
@Test
public void testSitraObject() throws IOException{
String obt_domaine_skiable = "Domaines skiables";
String obt_patrimoine_naturel = "Patrimoine Naturel";
String obt_fetes_manifestations = "Fêtes et Manisfestations";
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress(obt_domaine_skiable).setRegion("fr").setLanguage("fr").getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
assertEquals(geocoderResponse.getStatus(), GeocoderStatus.ZERO_RESULTS);
geocoderRequest = new GeocoderRequestBuilder().setAddress(obt_patrimoine_naturel).setRegion("fr").setLanguage("fr").getGeocoderRequest();
geocoderResponse = geocoder.geocode(geocoderRequest);
assertEquals(geocoderResponse.getStatus(), GeocoderStatus.ZERO_RESULTS);
geocoderRequest = new GeocoderRequestBuilder().setAddress(obt_fetes_manifestations).setRegion("fr").setLanguage("fr").getGeocoderRequest();
geocoderResponse = geocoder.geocode(geocoderRequest);
assertEquals(geocoderResponse.getStatus(), GeocoderStatus.ZERO_RESULTS);
}
示例6: getLocationName
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
private String getLocationName(double lat, double lon) {
LatLng p = new LatLng(Double.toString(lat), Double.toString(lon));
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder()
.setLocation(p).setLanguage("en").getGeocoderRequest();
GeocodeResponse geocoderResponse;
try {
geocoderResponse = geocoder.geocode(geocoderRequest);
GeocoderResult result = geocoderResponse.getResults().get(0);
return result.getFormattedAddress();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
示例7: updateGeoData
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
private void updateGeoData(LocationRecord locationRec) {
if (!keepManuallyUpdatedGeoData) {
try {
String address = locationRec.getAddress() + "," + (locationRec.getZip() != null ? locationRec.getZip() : "")
+ " " + locationRec.getCity() + "," + locationRec.getCountry();
final Geocoder geocoder = new Geocoder();
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress(address).getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
if (geocoderResponse.getResults().size() != 1) {
log.error("Failed to get one result for " + address + " got " + geocoderResponse.getResults());
}
for (GeocoderResult gr : geocoderResponse.getResults()) {
LatLng latLng = gr.getGeometry().getLocation();
locationRec.setGeoLat(latLng.getLat().doubleValue());
locationRec.setGeoLng(latLng.getLng().doubleValue());
}
} catch (IOException e) {
log.error("Error accessing Geocoder API", e);
}
}
}
示例8: getCoordinates
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
@Override
public synchronized Coordinates getCoordinates(final String address) throws GeocoderException {
ensureInitialized();
final GeocoderRequest request = new GeocoderRequestBuilder().setAddress(address).setLanguage("en").getGeocoderRequest();
final GeocodeResponse response = m_geocoder.geocode(request);
switch (response.getStatus()) {
case OK:
return new GoogleCoordinates(response.getResults().get(0));
case OVER_QUERY_LIMIT:
throw new TemporaryGeocoderException("Failed to get coordinates for " + address + " using the Google Geocoder. You have exceeded the daily usage limit.");
case ERROR:
case INVALID_REQUEST:
case REQUEST_DENIED:
case UNKNOWN_ERROR:
case ZERO_RESULTS:
default:
throw new GeocoderException("Failed to get coordinates for " + address + " using Google Geocoder. Response was: " + response.getStatus().toString());
}
}
示例9: getGeoPt
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
@Nullable
public static GeoPt getGeoPt(String addressStr) {
// TODO(avaliani): use an api key to avoid geocoding quota limits
final Geocoder geocoder = new Geocoder();
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder()
.setAddress(addressStr)
.setLanguage("en")
.getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
if (geocoderResponse.getStatus() == GeocoderStatus.OK) {
GeocoderResult firstResult = geocoderResponse.getResults().get(0);
return new GeoPt(
firstResult.getGeometry().getLocation().getLat().floatValue(),
firstResult.getGeometry().getLocation().getLng().floatValue());
} else {
log.log(GEOCODE_LOG_LEVEL,
"Geocoding failed: status=" + geocoderResponse.getStatus() + ", " +
"response=" + geocoderResponse);
// TODO(avaliani): Properly handle geopt encoding failures. Retrying in cases where
// the error is over quota.
return null;
}
}
示例10: extractGeoResult
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
protected void extractGeoResult(GeocodeResponse res, Exchange exchange) {
exchange.getIn().setHeader(GeoCoderConstants.STATUS, res.getStatus());
// should we include body
if (!endpoint.isHeadersOnly()) {
exchange.getIn().setBody(res);
}
if (res.getStatus() == GeocoderStatus.OK) {
exchange.getIn().setHeader(GeoCoderConstants.ADDRESS, res.getResults().get(0).getFormattedAddress());
// just grab the first element and its lat and lon
BigDecimal resLat = res.getResults().get(0).getGeometry().getLocation().getLat();
BigDecimal resLon = res.getResults().get(0).getGeometry().getLocation().getLng();
exchange.getIn().setHeader(GeoCoderConstants.LAT, resLat.toPlainString());
exchange.getIn().setHeader(GeoCoderConstants.LNG, resLon.toPlainString());
String resLatlng = resLat.toPlainString() + "," + resLon.toPlainString();
exchange.getIn().setHeader(GeoCoderConstants.LATLNG, resLatlng);
GeocoderAddressComponent country = getCountry(res);
if (country != null) {
exchange.getIn().setHeader(GeoCoderConstants.COUNTRY_SHORT, country.getShortName());
exchange.getIn().setHeader(GeoCoderConstants.COUNTRY_LONG, country.getLongName());
}
GeocoderAddressComponent city = getCity(res);
if (city != null) {
exchange.getIn().setHeader(GeoCoderConstants.CITY, city.getLongName());
}
}
}
示例11: getCountry
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
private static GeocoderAddressComponent getCountry(GeocodeResponse res) {
for (GeocoderResult result : res.getResults()) {
for (String type : result.getTypes()) {
if ("country".equals(type)) {
return result.getAddressComponents().get(0);
}
}
}
return null;
}
示例12: getCity
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
private static GeocoderAddressComponent getCity(GeocodeResponse res) {
for (GeocoderResult result : res.getResults()) {
for (String type : result.getTypes()) {
if ("locality".equals(type)) {
return result.getAddressComponents().get(0);
}
}
}
return null;
}
示例13: testGeoCoder
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
@Test
public void testGeoCoder() throws Exception {
GeoCoderEndpoint endpoint = context.getEndpoint(
"geocoder:address:current?headersOnly=true&proxyHost=localhost&proxyPort=3128&proxyAuthMethod=Basic&proxyAuthUsername=proxy&proxyAuthPassword=proxy",
GeoCoderEndpoint.class);
Geocoder geocoder = endpoint.createGeocoder();
GeocoderRequest req = new GeocoderRequest();
req.setLocation(new LatLng("45.4643", "9.1895"));
GeocodeResponse res = geocoder.geocode(req);
log.info("Response {} ", res);
}
示例14: testURL
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
@Test
public void testURL() throws IOException {
//Obtenir une réponse
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress("Lyon, France").setLanguage("fr").getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
assertEquals(geocoderResponse.getStatus(), GeocoderStatus.OK);
}
示例15: reverseGeocoding
import com.google.code.geocoder.model.GeocodeResponse; //导入依赖的package包/类
@Test
public void reverseGeocoding() throws IOException {
GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setLocation(new LatLng("45.772216", "4.859242")).setLanguage("fr").getGeocoderRequest();
GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
assertNotNull(geocoderResponse);
assertEquals(GeocoderStatus.OK, geocoderResponse.getStatus());
assertFalse(geocoderResponse.getResults().isEmpty());
final GeocoderResult geocoderResult = geocoderResponse.getResults().iterator().next();
assertTrue(geocoderResult.getFormattedAddress().contains("Rue Jean Novel"));
}