내 애플리케이션은 JSON 파일에서 마커가로드 된지도를 표시하고 마커를 클릭하면 "통화 하시겠습니까?"라고 물어 봅니다. 그런 다음 마커가 위치한 사람에게 전화가 걸립니다. 그러나이 코드를 사용하면 모든 마커가 동일한 번호, 즉 JSON 파일의 마지막 번호를 호출합니다. 그러면 각 마커에 해당 사람과 관련된 다른 전화 번호 (전화)를 전달할 수 있습니까? 감사합니다 :)각 마커에 대해 다른 값을 가진 변수를 얻는 방법 (JSON에서)
protected void createMarkersFromJson(String json) throws JSONException {
map.setInfoWindowAdapter(new Balloon(getLayoutInflater()));
JSONArray jsonArray = new JSONArray(json);
for (int i = 0; i < jsonArray.length(); i++) {
// Create a marker for each person in the JSON data.
JSONObject jsonObj = jsonArray.getJSONObject(i);
map.addMarker(new MarkerOptions()
.title(jsonObj.getString("name"))
.snippet(jsonObj.getString("dispo"))
.position(new LatLng(
jsonObj.getJSONArray("latlng").getDouble(0),
jsonObj.getJSONArray("latlng").getDouble(1)))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.pin)));
phone = Uri.parse("tel:+33" + jsonObj.getString("phone"));
map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Intent callIntent = new Intent(Intent.ACTION_DIAL, phone);
startActivity(callIntent);
}});
}
}
그럼 그냥 밖으로 넣어 '반복. 또한 hashmap arraylist에 전화 번호를 추가하고 위치에 따라 검색하십시오. – Piyush
예.하지만 시도했지만 똑같은 문제가 있습니다 ... – Raph