mapquest: как разобрать mapquest json request
Я работаю с навигацией по карте. Я использую код JavaScript для получения данных.
Я получаю контент json в приложении, но не знаю, как использовать эти данные для навигации. Я создал новый проект и запускаю код
class jsonapp extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... uri) {
// TODO Auto-generated method stub
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response;
String responseString = null;
try {
response = httpclient.execute(new HttpGet(uri[0]));
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpStatus.SC_OK){
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close();
responseString = out.toString();
Log.d("Filter", ""+responseString);
} else{
//Closes the connection.
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
} catch (ClientProtocolException e) {
//TODO Handle problems..
} catch (IOException e) {
//TODO Handle problems..
}
return responseString;
я пытаюсь сделать повествовательную навигацию. Как мне это сделать?
я делаю это правильно?
заранее спасибо
1 ответ
Эта вещь работает для меня:
Я сделал это для матрицы маршрутов так же, как вы можете попробовать для маршрута.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONObject;
public class ApacheHttpClientGet {
static DefaultHttpClient httpClient = new DefaultHttpClient();
static HttpGet getRequest;
static HttpResponse response;
public static void main(String[] args) {
try {
getRequest = new HttpGet("http://www.mapquestapi.com/directions/v2/routematrix?key=XFZxlqQQJbNaABkGXuaRfUHSIdYXuIBh&.format(lat,long)&inFormat=kvp&outFormat=json&from=BuddhdaveColony,vadodara,gujarat&to=oldpadraroad,vadodara,gujarat&unit=k");
response = httpClient.execute(getRequest);
if (response.getStatusLine().getStatusCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatusLine().getStatusCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(response.getEntity().getContent())));
String output;
String jsonData="";
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
jsonData += output + "\n";
System.out.println(jsonData);
}
JSONObject obj = new JSONObject(jsonData);
System.out.println("allToAll: " + obj.getBoolean("allToAll"));
System.out.println("distance: " + obj.getJSONArray("distance"));
httpClient.getConnectionManager().shutdown();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}