Consulta dados na API da Google?

1 resposta Resolvido
androidjavagoogle
A

Bom pessoal estou tentando pega a distancia de dois pontos no Apimaps da google. Só que já tentei de tudo e não consigo vou postar o link da api da google. Reparam que onde esta palavra origem e destino são os endereços fornecidos.

http://maps.googleapis.com/maps/api/distancematrix/json?origins=origem&destinations=destino&mode=driving&language=pt-BR&sensor=false

no meu Androi a classe de requisição rest para fazer a consulta:

@SuppressLint("NewApi")
public class Acessorestget {
	@SuppressLint("NewApi")
	public String chamadaGet(String url){
		HttpClient httpclient = new DefaultHttpClient();
		HttpGet chamadaget = new HttpGet(url);
		String retorno = "";
		// Instantiate a Get HTTP method
		try {
			// Requesição
			StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
			StrictMode.setThreadPolicy(policy);

			ResponseHandler<String> responseHandler = new BasicResponseHandler();
			String responsebody = httpclient.execute(chamadaget,responseHandler);

			retorno = responsebody;

		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e){
			e.printStackTrace();
		} catch (Throwable t){
			Log.i("erro", t.toString());
		}
		return retorno;
	}

Na minha Actvity o código para pegar as informações da api:

// Acessando comunicação
Acessorestget ag = new Acessorestget();
String wsmapsgoogle;
wsmapsgoogle = "http://maps.googleapis.com/maps/api/distancematrix/json?origins=" + origem + "&destinations=" + destino + "&mode=driving&language=pt-BR&sensor=false";

String reultadomapsgoogle = ag.chamadaGet(wsmapsgoogle);
try {
     JSONObject jsonmapsgoogle = new JSONObject(reultadomapsgoogle);
     String distancia = "";
     distancia = jsonmapsgoogle.getString("value");
     } catch (Exception e) {
     // Menssange
     Toast.makeText(getBaseContext(), "OCORREU UM ERRO TENTE NOVAMENTE!",Toast.LENGTH_LONG).show();
     }

Tenho um Webservice que faço isso e da certo em todos e até nos outros que eu não criei só Apimaps que não estou conseguindo.

1 Resposta

A
Solucao aceita

para resolver o problema fiz esse procedimento:

// Acessando comunicação

Acessorestget ag = new Acessorestget();

String wsmapsgoogle;

wsmapsgoogle = <a href="http://maps.googleapis.com/maps/api/distancematrix/json?origins=">http://maps.googleapis.com/maps/api/distancematrix/json?origins=</a> + origem + &destinations=” + destino + &mode=driving&language=pt-BR&sensor=false”;
String reultadomapsgoogle = ag.chamadaGet(wsmapsgoogle);

try {

JSONObject jsonmapsgoogle = new JSONObject(reultadomapsgoogle);

JSONArray rows = jsonmapsgoogle.getJSONArray(rows);

double distancia = rows.getJSONObject(0).getJSONArray(elements).getJSONObject(0).getJSONObject(distance).getDouble(value);

} catch (Exception e) {

// Menssange

Toast.makeText(getBaseContext(), OCORREU UM ERRO TENTE NOVAMENTE!,Toast.LENGTH_LONG).show();

}
Criado 22 de março de 2017
Ultima resposta 13 de abr. de 2017
Respostas 1
Participantes 1