我有一个来自JSONArray对象的迭代数据,如下所示:
try{
for (int i = 0; i < arrResponse.length(); ++i){
JSONObject objResponse = arrResponse.getJSONObject(i);
Integer idShop = objResponse.getInt("ID");
String name = objResponse.getString("Name");
String address = objResponse.getString("Address");
Double slat = objResponse.getDouble("lat");
Double slong = objResponse.getDouble("long");
LatLng shopLocation = new LatLng(slat, slong);}}
我使用迭代数据(idShop,名称,地址等)使用以下代码在我的地图上标记兴趣点:
map.addMarker(new MarkerOptions()
.position(shopLocation)
.title(idShop+" "+name)
.snippet(address)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_marker_shop)));
然后我将一个点击监听器放入由该标记创建的每个对象中:
map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
// TODO Auto-generated method stub
Intent intent = new Intent(OrderActivity.this, Cart1Activity.class);
// intent.putExtra("IDShop", ""+idShop);
startActivity(intent);
}
});
当我点击标记然后将其传递给意图时,如何获取“idShop”数据?我在setOnInfoWindowClickListener:
上使用此代码intent.putExtra("IDShop", ""+idShop);
但它没有获得真实的数据。
答案 0 :(得分:0)
使用上面的代码,您只需从标记中获取标题,将其拆分为空格字符,并在结果数组中获取第一个元素。这是你的身份。
int id = Integer.parseInt(marker.getTitle().split(" ")[0]);
对象不太方向......