@Override public String execute() { GeocoderResults results = _service.setUserDefaultSearchFromGeocoderService(_location); _records = results.getResults(); if (_records.isEmpty()) { return "noRecords"; } else if (_records.size() > 1) { return "multipleRecords"; } else { return SUCCESS; } } }
public GeocoderResults setUserDefaultSearchFromGeocoderService( String location) { GeocoderResults results = _geocoderService.geocode(location); List<GeocoderResult> records = results.getResults(); if (records.size() == 1) { GeocoderResult result = records.get(0); // Store default search location for future sessions String name = _geocoderResultPresentationService.getGeocoderResultAsString(result); if( name == null || name.length() == 0) name = location; _searchLocationService.setDefaultLocationForCurrentUser(name, result.getLatitude(), result.getLongitude()); } return results; }
public GeocoderResults setUserDefaultSearchFromGeocoderService( String location) { GeocoderResults results = _geocoderService.geocode(location); List<GeocoderResult> records = results.getResults(); if (records.size() == 1) { GeocoderResult result = records.get(0); // Store default search location for future sessions String name = _geocoderResultPresentationService.getGeocoderResultAsString(result); if( name == null || name.length() == 0) name = location; _searchLocationService.setDefaultLocationForCurrentUser(name, result.getLatitude(), result.getLongitude()); } return results; }
private List<StopsBean> fetchStopsFromGeocoder(String q) { List<StopsBean> result = new ArrayList<StopsBean>(); // FIXME HACK: append brooklyn to addresses to prevent manhattan adresses from being // returned instead--use google viewport biasing instead? if(q != null && q.isEmpty() == false) { q = q + " brooklyn, ny"; } List<GeocoderResult> geocoderResults = geocoderService.geocode(q).getResults(); for (GeocoderResult geocoderResult : geocoderResults) { double lat = geocoderResult.getLatitude(); double lng = geocoderResult.getLongitude(); CoordinateBounds bounds = SphericalGeometryLibrary.bounds(lat, lng, distanceToStops); // and add any stops for it SearchQueryBean searchQueryBean = makeSearchQuery(bounds); searchQueryBean.setMaxCount(100); StopsBean stops = transitService.getStops(searchQueryBean); result.add(stops); } return result; }