gpt4 book ai didi

android - 无法使用 Google Distance Matrix API Android 将距离变量传递给另一个 Activity

转载 作者:行者123 更新时间:2023-11-30 00:19:16 28 4
gpt4 key购买 nike

我已经尝试了一整天的工作,但可以找到解决方案。我正在开发一个测试谷歌地图应用程序来学习 java。单击按钮时,从该 Activity 开始,用户将转到另一个 Activity ,我需要将一些值传递给下一个 Activity 。我能够在下一个 Activity 中检索起始地址和目的地地址,但不能检索距离。

implements GeoTask.Geo {
private TextView mFromAddress;
private TextView mToAddress;
String str_from,str_to;
int dist;

public void onClickBtn(View v){
str_from = mFromAddress.getText().toString();
str_to = mToAddress.getText().toString();
String url = "https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=" + str_from + "&destinations=" + str_to + "&mode=driving&language=en-US&avoid=tolls&key=API-Key";
new GeoTask(MapsActivity.this).execute(url);

getResults();
}

// This is called from external class GeoTask.Java
public void setDouble(String result) {
String res[]=result.split(",");
Double min = Double.parseDouble(res[0])/60;
dist = Integer.parseInt(res[1])/1000;
}

public void getResults(){
Intent intent = new Intent(this, ResultsActivity.class);

String fromCity = str_from;
String toCity = str_to;
int kmDistance = dist;

intent.putExtra("from",fromCity);
intent.putExtra("to",toCity);
intent.putExtra("distance",kmDistance);

startActivity(intent);
}
}

我正在通过以下方式检索这些详细信息

Intent intent = getIntent();
String fromCity = intent.getStringExtra("from");
String toCity = intent.getStringExtra("to");
int kmDistance = intent.getIntExtra("distance", 0);

最佳答案

你之所以没有距离。

可能 AsyncTask 在调用 getResults(); 时尚未完成

尝试在调用 new GeoTask(MapsActivity.this).execute(url); 后删除 getResults(); 并放置 getResults() ;onPostExecute(args)

关于android - 无法使用 Google Distance Matrix API Android 将距离变量传递给另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46615109/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com