Android 响应错误谷歌地图api截击
我创建了一个从mysql数据库检索数据的应用程序。问题是地图没有显示任何标记。 我正在使用截击库Android 响应错误谷歌地图api截击,android,mysql,android-volley,google-maps-api-2,Android,Mysql,Android Volley,Google Maps Api 2,我创建了一个从mysql数据库检索数据的应用程序。问题是地图没有显示任何标记。 我正在使用截击库 public class MainActivity extends FragmentActivity { private GoogleMap mMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(
public class MainActivity extends FragmentActivity {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUpMapIfNeeded();
String uri = "localhost/get_all_products.php";
RequestQueue mRequestQueue = Volley.newRequestQueue(getApplicationContext());
JsonArrayRequest request = new JsonArrayRequest(
uri,
new Response.Listener<JSONArray>(){
LatLng location;
@Override
public void onResponse(JSONArray response) {
int count = response.length();
for(int i = 0; i < count; i++){
try {
JSONObject jo = response.getJSONObject(i);
Double lat = Double.parseDouble(jo.getString("lat"));
Double lng = Double.parseDouble(jo.getString("lng"));
location = new LatLng(lat,lng);
MarkerOptions options = new MarkerOptions();
options.position(location);
options.title(jo.getString("product"));
options.snippet(jo.getString("product"));
mMap.addMarker(options);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
CameraUpdate cu = CameraUpdateFactory.newLatLng(location);
mMap.moveCamera(cu);
Toast.makeText(getApplicationContext(), response.toString(), Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "onErrorResponse", Toast.LENGTH_LONG).show();
}
}
);
Object TAG_REQUEST_QUEUE = new Object();
request.setTag(TAG_REQUEST_QUEUE);
mRequestQueue.add(request);
mRequestQueue.start();
}
@Override
protected void onResume() {
super.onResume();
setUpMapIfNeeded();
}
private void setUpMapIfNeeded() {
if (mMap == null) {
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
if (mMap != null) {
}
}
}
public类MainActivity扩展了FragmentActivity{
私有谷歌地图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupmapifneed();
String uri=“localhost/get_all_products.php”;
RequestQueue MRRequestQueue=Volley.newRequestQueue(getApplicationContext());
JsonArrayRequest请求=新的JsonArrayRequest(
乌里,
新的Response.Listener(){
定位;
@凌驾
公共void onResponse(JSONArray响应){
int count=response.length();
for(int i=0;i
}
地图没有任何标记,并且应用程序不会崩溃
php文件是正确的,因此不需要将代码放在这里
谢谢:)
--------编辑
我的截击失误是
org.json.JSONException: value <html><body><script of type java.lang.String cannot be converted to JSONArray
org.json.JSONException:value问题不在java或php文件中
出于安全目的,主机“byethost14.com”没有提供有效的json格式
我将url更改为10.0.2.2,并将我的文件上载到xamppserver中,它正在工作
-------忠告------
不要使用byethost如果您想输出json从数据库检索数据和显示标记是两件不同的事情,请先检查响应,然后检查您得到的错误。错误为org.json.JSONException:value这意味着您没有获得有效的json数据,请尝试修复您的响应