제가 한글로 주소를 입력받아서, 그 주소를 위도,경도로 변환한뒤에, 그 위도,경도를 통해서 지도에 표시하고 싶습니다.
이 과정에서 주소를 위도,경도로 변환하는것 까지는 성공했습니다.
문제는 이 위도, 경도를 가져와 지도에 표시하는것인데요.
위도경도 값이 같은 class 안에 public void 안에 있긴 한데, 이 안에 있는 값을 가져오지 못하고 초기에 설정해 두었던 값을 가져오는 것이 문제입니다.
클래스 아래에 이렇게 초기값을 주었습니다.
Double lon = 127.1763825;
Double lat = 37.0082453;
그리고 밑에 소스와 같이 위도 경도 값을 받아오도록 했습니다. Log에서도 위도경도값이 잘 나옵니다.
public void getGeoPoint(JSONObject jsonObject) {
try {
lon = ((JSONArray) jsonObject.get("results")).getJSONObject(0)
.getJSONObject("geometry").getJSONObject("location")
.getDouble("lng");
lat = ((JSONArray) jsonObject.get("results")).getJSONObject(0)
.getJSONObject("geometry").getJSONObject("location")
.getDouble("lat");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("myLog", "경도:" + lon); //위도/경도 결과 출력
Log.d("myLog", "위도:" + lat);
}
그리고 밑에 소스와 같이 lat, lon값을 가져오도록 하여 맵에 표시되도록 하였습니다.
loc = new LatLng(lat, lon); // 위치 좌표 설정
Log.d("myLog", "loc : " + loc);
CameraPosition cp = new CameraPosition.Builder().target((loc)).zoom(15).build();
MarkerOptions marker = new MarkerOptions().position(loc); // 구글맵에 기본마커 표시
mGoogleMap = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap();// 화면에 구글맵 표시
mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cp)); // 지정위치로 이동
mGoogleMap.addMarker(marker); // 지정위치에 마커 추가
위 처럼 했는데 Log에 뜨는 값이 안나오고 초기에 적었던 값이 나옵니다.
loc를 적기 전에 getGeoPoint를 불러오는 걸 써야하는 걸까요?
제가 안드로이드, 자바 개발 초보라서 부족한 점이 많지만 조금만 도와주세요 ㅠㅠ