0

これは、利用可能な都市と場所を表示する ListView です。現在のポイントからリストされた場所までの距離を表示したい。

例えば:

+++++++++++++++++++++++++
Name :Hotel Hilton
Category :hotel
distance:1km
+++++++++++++++++++++++++

各距離値を計算してリストに表示するにはどうすればよいですか?

ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();

            JSONArray jsonArray = new JSONArray(response);

            if (jsonArray != null) {
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject object = (JSONObject) jsonArray.get(i);

                    HashMap<String, String> map = new HashMap<String, String>();

                    map.put(TAG_Name, object.getString("name"));
                    map.put(TAG_Category, object.getString("category"));
                    map.put(TAG_Lat, object.getString("lat"));
                    map.put(TAG_Lng, object.getString("lng"));

                    contactList.add(map);

                }
            }

            ListAdapter adapter = new SimpleAdapter(this, contactList,
                    R.layout.menu_list_row, new String[] { TAG_Name,
                    TAG_Category }, new int[] { R.id.LR_Name,
                            R.id.LR_date });
            list.setAdapter(adapter);
        }

現在位置は、GPS とストアから lat,lng として識別されます。

4

2 に答える 2

0

以下を使用できます。

float[] res = new float[3];
Location.distanceBetween(object.getDouble("lat"), object.getDouble("lng"), lat,lng, res);

最初の 2 つのパラメーターは double であり、オブジェクトの位置を表し、変数latlng変数には現在の位置が含まれます。

メートルで表される結果は、res[0]

于 2012-07-17T14:23:39.887 に答える