0
しかし、私はそれらをそれぞれ別々に選択することはできません。
マーカーをタッチして詳細を取得することで、それぞれを個別に選択する方法を教えてください。この関数のAは、json
array
で、0〜19(20)の要素が使用されます。私はアンドロイドにGoogleマップの近くの場所APIを使用しています。私のコードは、近くの場所のみを表示します
それぞれのマーカーを個別に選択する方法はわかりません。
private void parseLocationResult(final JSONObject result) {
String id, place_id, placeName = null, reference, icon, vicinity = null;
JSONArray rev;
double latitude;
double longitude;
try {
final JSONArray jsonArray = result.getJSONArray(RESULTS);//JavaScript Object Notation
if (result.getString(STATUS).equalsIgnoreCase(OK)) {
mMap.clear();
for (int i = 0; i < jsonArray.length(); i++) {
final JSONObject place = jsonArray.getJSONObject(i);
id = place.getString(SUPERMARKET_ID);
place_id = place.getString(PLACE_ID);
if (!place.isNull(NAME)) {
placeName = place.getString(NAME);
}
if (!place.isNull(VICINITY)) {
vicinity = place.getString(VICINITY);
}
latitude = place.getJSONObject(GEOMETRY).getJSONObject(LOCATION)
.getDouble(LATITUDE);
longitude = place.getJSONObject(GEOMETRY).getJSONObject(LOCATION)
.getDouble(LONGITUDE);
reference = place.getString(REFERENCE);
icon = place.getString(ICON);
MarkerOptions markerOptions = new MarkerOptions();
final LatLng latLng = new LatLng(latitude, longitude);
markerOptions
.icon(BitmapDescriptorFactory.fromResource(R.drawable.bluemarker))
.position(latLng);
markerOptions.title(placeName + " : " + vicinity);
mMap.addMarker(markerOptions);
}
Toast.makeText(getBaseContext(), jsonArray.length() + " found!",
Toast.LENGTH_LONG).show();
} else if (result.getString(STATUS).equalsIgnoreCase(ZERO_RESULTS)) {
Toast.makeText(getBaseContext(), "Not found in 5KM radius!!!",
Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
Log.e(TAG, "parseLocationResult: Error=" + e.getMessage());
}
}
をクリックして検出する
onMarkerClick
をオーバーライド??? –クリックしたマーカーの緯度と経度を特定の緯度と経度で比較できます。@ZiaAnsari –
実際にマーカーをクリックすると詳細がログに表示されます。 –