gpt4 book ai didi

java - 为什么程序没有通过我的@override 类

转载 作者:行者123 更新时间:2023-12-02 02:39:43 25 4
gpt4 key购买 nike

我想创建多个带有经度和纬度的标记,所以我在我的谷歌地图 Activity 中以某种方式编写了这段代码,代码没有运行槽,因为我得到第一个 logcat 输出“jsonParse:现在在 json Parse” 。为什么它停在我的@override 方法处。

所以我编写了一个测试项目,我只需将所有内容打印到 TextView 中,然后代码就会运行。我不明白为什么它不能与我的 GoogleMaps 和 android 项目一起使用?测试项目运行良好

这是 Maps 类的主要 Activity :测试版本是相同的代码,但不在 android studio GoogleMap 项目中运行。唯一的区别是,在测试项目中我在创建时调用它。

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;
private RequestQueue mQueue;
private static final String TAG = "xd";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);

}


@Override
public void onMapReady(GoogleMap googleMap) {
jsonParse();
mMap = googleMap;


/* // Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));*/
}

private void jsonParse() {

String url = "https://api.myjson.com/bins/kp9wz";
Log.d(TAG, "jsonParse: is now in jsonParse ");

JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, "onResponse: is before try");
try {
JSONArray jsonArray = response.getJSONArray("addresses");

for (int i = 0; i < jsonArray.length(); i++) {
JSONObject address = jsonArray.getJSONObject(i);

String firstName = address.getString("name");
Double latitude = Double.parseDouble(address.getString("latitude"));
Double longitude = Double.parseDouble(address.getString("longitude"));

LatLng sydney = new LatLng(latitude, longitude);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
}
Log.d(TAG, "onResponse: is after for loop");
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
}

}

最佳答案

您已创建请求,但尚未将请求添加到请求队列。

关于java - 为什么程序没有通过我的@override 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57186239/

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