0

我有一个来自 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);

但它没有得到真实的数据。

4

1 回答 1

0

使用上面的代码,您可以简单地从标记中获取标题,将其拆分为空格字符并获取结果数组中的第一个元素。这是你的身份证。

int id = Integer.parseInt(marker.getTitle().split(" ")[0]);

不是很注重对象...

于 2013-05-28T16:50:59.990 回答