GeocodeResponse response = ... // Look at the example code on that site. BigDecimal latitude = response.getResults().get(0).getGeometry().getLocation().getLat()
private GeocoderResult findMostAccurateGeoCoderResult(GeocodeResponse geocode) { GeocoderResult geocodingResultMostAccurate = null; if (geocode != null && geocode.getStatus() == GeocoderStatus.OK) { List<GeocoderResult> geocodingResults = geocode.getResults(); if (geocodingResults.size() != 0) { geocodingResultMostAccurate = geocodingResults.get(0); GeocoderLocationType locationType = getGeometryLocationType(geocodingResultMostAccurate); // Searching all geo coding results for (GeocoderResult geocoderResult : geocodingResults) { GeocoderLocationType newLocationType = getGeometryLocationType(geocoderResult); // Comparing location types based on their ordinals if (newLocationType.compareTo(locationType) > 0) { // Found more accurate result locationType = newLocationType; geocodingResultMostAccurate = geocoderResult; } } } } return geocodingResultMostAccurate; }
private GeocodeResponse arretToGeocodeResponse(Arret arret) { GeocodeResponse response = new GeocodeResponse(); response.setStatus(GeocoderStatus.OK); response.setResults(new ArrayList<GeocoderResult>()); GeocoderResult result = new GeocoderResult(); result.setGeometry(new GeocoderGeometry()); result.getGeometry().setLocation( new LatLng(BigDecimal.valueOf(arret.getLatitude()), BigDecimal.valueOf(arret.getLongitude()))); response.getResults().add(result); return response; }
.setBounds(TransportsRennesApplication.getBounds()).getGeocoderRequest(); reponseDepart = TransportsRennesApplication.getGeocodeUtil().geocode(geocoderRequest); if (reponseDepart != null && reponseDepart.getStatus() == GeocoderStatus.OVER_QUERY_LIMIT) { erreurQuota = true; } else if (reponseDepart == null || reponseDepart.getStatus() != GeocoderStatus.OK) { .setBounds(TransportsRennesApplication.getBounds()).getGeocoderRequest(); reponseArrivee = TransportsRennesApplication.getGeocodeUtil().geocode(geocoderRequest); if (reponseArrivee != null && reponseArrivee.getStatus() == GeocoderStatus.OVER_QUERY_LIMIT) { erreurQuota = true; } else if (reponseArrivee == null || reponseArrivee.getStatus() != GeocoderStatus.OK) { erreur = true; return null;
geocoderResponse = geocoder.geocode(geocoderRequest); if (geocoderResponse != null) { if (geocoderResponse.getStatus() == GeocoderStatus.OK) { if (!geocoderResponse.getResults().isEmpty()) { geocoderResponse.getResults().iterator().next(); resultAddr = geocoderResult.getFormattedAddress(); synchronized (cache) { cache.put(cacheKey, resultAddr); }
private GeocodeResponse arretToGeocodeResponse(Arret arret) { GeocodeResponse response = new GeocodeResponse(); response.setStatus(GeocoderStatus.OK); response.setResults(new ArrayList<GeocoderResult>()); GeocoderResult result = new GeocoderResult(); result.setGeometry(new GeocoderGeometry()); result.getGeometry().setLocation( new LatLng(BigDecimal.valueOf(arret.getLatitude()), BigDecimal.valueOf(arret.getLongitude()))); response.getResults().add(result); return response; }
.setBounds(TransportsBordeauxApplication.getBounds()).getGeocoderRequest(); reponseDepart = TransportsBordeauxApplication.getGeocodeUtil().geocode(geocoderRequest); if (reponseDepart == null || reponseDepart.getStatus() != GeocoderStatus.OK) { erreur = true; return null; .setBounds(TransportsBordeauxApplication.getBounds()).getGeocoderRequest(); reponseArrivee = TransportsBordeauxApplication.getGeocodeUtil().geocode(geocoderRequest); if (reponseArrivee == null || reponseArrivee.getStatus() != GeocoderStatus.OK) { erreur = true; return null;
public static double[] getLatLngForAddr(String addr) { if (addr == null) return null; Geocoder geocoder = new Geocoder(); GeocoderRequest geocoderRequest; GeocodeResponse geocoderResponse; geocoderRequest = new GeocoderRequestBuilder() .setAddress(addr) .setLanguage("en").getGeocoderRequest(); geocoderResponse = geocoder.geocode(geocoderRequest); if (geocoderResponse != null) { if (geocoderResponse.getStatus() == GeocoderStatus.OK) { if (!geocoderResponse.getResults().isEmpty()) { GeocoderResult geocoderResult = // Get the first result geocoderResponse.getResults().iterator().next(); double[] loc = new double[2]; LatLng ll = geocoderResult.getGeometry().getLocation(); loc[0] = ll.getLat().doubleValue(); loc[1] = ll.getLng().doubleValue(); return loc; } } } return null; }
public void onClick(DialogInterface dialog, int item) { if (reponseArriveeTmp != null && reponseArriveeTmp.getResults().size() > 1) { GeocoderResult result = reponseDepartTmp.getResults().get(item); reponseDepartTmp.getResults().clear(); reponseDepartTmp.getResults().add(result); traiterAdresseMultiple(reponseDepartTmp, reponseArriveeTmp); } else { calculItineraire(reponseDepartTmp.getResults().get(item), reponseArriveeTmp == null ? null : reponseArriveeTmp.getResults().get(0)); } } });
@Override protected FilterResults performFiltering(CharSequence constraint) { FilterResults fr = new FilterResults(); if (constraint != null && constraint.length() > 5) { GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress(constraint.toString()) .setLanguage("fr").setBounds(TransportsRennesApplication.getBounds()).getGeocoderRequest(); GeocodeResponse reponseResult = null; Log.d("YBO", geocoderRequest.toString()); try { reponseResult = TransportsRennesApplication.getGeocodeUtil().geocode(geocoderRequest); } catch (Exception ignore) { } List<String> results = new ArrayList<String>(); String upper = StringOperation.sansAccents(constraint.toString().toUpperCase()); for (Arret arret : arrets) { if (arret.nom.contains(upper)) { results.add(arret.nom); } } if (reponseResult != null && reponseResult.getStatus().equals(GeocoderStatus.OK)) { for (GeocoderResult oneResult : reponseResult.getResults()) { results.add(oneResult.getFormattedAddress()); } } fr.values = results; fr.count = results.size(); } return fr; }
public void onClick(DialogInterface dialog, int item) { calculItineraire(reponseDepartTmp == null ? null : reponseDepartTmp.getResults().get(0), reponseArriveeTmp.getResults().get(item)); } });
if (reponseResult != null && reponseResult.getStatus().equals(GeocoderStatus.OK)) { for (GeocoderResult oneResult : reponseResult.getResults()) { results.add(oneResult.getFormattedAddress());
public void onClick(DialogInterface dialog, int item) { if (reponseArriveeTmp != null && reponseArriveeTmp.getResults().size() > 1) { GeocoderResult result = reponseDepartTmp.getResults().get(item); reponseDepartTmp.getResults().clear(); reponseDepartTmp.getResults().add(result); traiterAdresseMultiple(reponseDepartTmp, reponseArriveeTmp); } else { calculItineraire(reponseDepartTmp.getResults().get(item), reponseArriveeTmp == null ? null : reponseArriveeTmp.getResults().get(0)); } } });
@Override public synchronized Coordinates getCoordinates(final String address) throws GeocoderException { ensureInitialized(); final GeocoderRequest request = new GeocoderRequestBuilder().setAddress(address).setLanguage("en").getGeocoderRequest(); GeocodeResponse response; try { response = m_geocoder.geocode(request); } catch (IOException e) { // Makes the assumption that IO related exceptions are temporary, which is suitable for most scenarios throw new TemporaryGeocoderException("Failed to get coordinates for " + address + " using the Google Geocoder.", e); } 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()); } } }
public void onClick(DialogInterface dialog, int item) { calculItineraire(reponseDepartTmp == null ? null : reponseDepartTmp.getResults().get(0), reponseArriveeTmp.getResults().get(item)); } });
private void traiterReponseGeoCodage(GeocodeResponse reponseDepart, GeocodeResponse reponseArrivee) { StringBuilder stringBuilder = new StringBuilder(); boolean erreur = false; if (reponseDepart != null && reponseDepart.getResults().isEmpty()) { stringBuilder.append(getString(R.string.erreur_pasAdresseDepart)); stringBuilder.append('\n'); erreur = true; } if (reponseArrivee != null && reponseArrivee.getResults().isEmpty()) { stringBuilder.append(getString(R.string.erreur_pasAdresseArrivee)); erreur = true; } if (erreur) { Toast.makeText(this, stringBuilder.toString(), Toast.LENGTH_LONG).show(); } else { if (reponseDepart != null && reponseDepart.getResults().size() > 1 || reponseArrivee != null && reponseArrivee.getResults().size() > 1) { traiterAdresseMultiple(reponseDepart, reponseArrivee); } else { calculItineraire(reponseDepart == null ? null : reponseDepart.getResults().get(0), reponseArrivee == null ? null : reponseArrivee.getResults().get(0)); } } }
private void traiterReponseGeoCodage(GeocodeResponse reponseDepart, GeocodeResponse reponseArrivee) { StringBuilder stringBuilder = new StringBuilder(); boolean erreur = false; if (reponseDepart != null && reponseDepart.getResults().isEmpty()) { stringBuilder.append(getString(R.string.erreur_pasAdresseDepart)); stringBuilder.append('\n'); erreur = true; } if (reponseArrivee != null && reponseArrivee.getResults().isEmpty()) { stringBuilder.append(getString(R.string.erreur_pasAdresseArrivee)); erreur = true; } if (erreur) { Toast.makeText(this, stringBuilder.toString(), Toast.LENGTH_LONG).show(); } else { if (reponseDepart != null && reponseDepart.getResults().size() > 1 || reponseArrivee != null && reponseArrivee.getResults().size() > 1) { traiterAdresseMultiple(reponseDepart, reponseArrivee); } else { calculItineraire(reponseDepart == null ? null : reponseDepart.getResults().get(0), reponseArrivee == null ? null : reponseArrivee.getResults().get(0)); } } }
private void traiterAdresseMultiple(GeocodeResponse reponseDepart, GeocodeResponse reponseArrivee) { final GeocodeResponse reponseDepartTmp = reponseDepart; final GeocodeResponse reponseArriveeTmp = reponseArrivee; if (reponseDepart != null && reponseDepart.getResults().size() > 1) { List<String> adresses = new ArrayList<String>(reponseDepartTmp.getResults().size()); for (GeocoderResult result : reponseDepartTmp.getResults()) { adresses.add(result.getFormattedAddress()); } else { List<String> adresses = new ArrayList<String>(reponseArriveeTmp.getResults().size()); for (GeocoderResult result : reponseArriveeTmp.getResults()) { adresses.add(result.getFormattedAddress());
private void traiterAdresseMultiple(GeocodeResponse reponseDepart, GeocodeResponse reponseArrivee) { final GeocodeResponse reponseDepartTmp = reponseDepart; final GeocodeResponse reponseArriveeTmp = reponseArrivee; if (reponseDepart != null && reponseDepart.getResults().size() > 1) { List<String> adresses = new ArrayList<String>(reponseDepartTmp.getResults().size()); for (GeocoderResult result : reponseDepartTmp.getResults()) { adresses.add(result.getFormattedAddress()); } else { List<String> adresses = new ArrayList<String>(reponseArriveeTmp.getResults().size()); for (GeocoderResult result : reponseArriveeTmp.getResults()) { adresses.add(result.getFormattedAddress());