728x90
전 포스팅에서 보시면 LatLng을 사용하려면 위도 경도 값을 넣어줘야 마커를 사용할 수 있습니다.
만약 가지고 있는 데이터가 위도경도가 아닌 주소명으로 되어있을때 변환하는 방법에 대해 포스팅하려고 합니다.
먼저 안드로이드 스튜디오로 가서 AndroidManifest.xml 파일에 인터넷과 위치정보 사용을 허가하는 코드를 추가해줍니다.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>
다음으로 MainActivity.java에 addrToPoint라는 메소드를 만들어줍니다.
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap mgoogleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportMapFragment supportMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
supportMapFragment.getMapAsync(this);
}
@Override
public void onMapReady(final GoogleMap googleMap) {
mgoogleMap = googleMap;
Context context = this;
// final LatLng Pocheon = new LatLng(37.894936, 127.200344); // 마커 추가
Location cityHallLocation = addrToPoint(context);
final LatLng Pocheon = new LatLng(cityHallLocation.getLatitude(), cityHallLocation.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(Pocheon);
markerOptions.title("포천시청"); // 마커 옵션 추가
googleMap.addMarker(markerOptions); // 마커 등록
googleMap.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() {
@Override
public void onMapLoaded() {
mgoogleMap.moveCamera(CameraUpdateFactory.newLatLng(Pocheon));
mgoogleMap.animateCamera(CameraUpdateFactory.zoomTo(20));
}
}); // 구글맵 로딩이 완료되면 카메라 위치 조정
}
public static Location addrToPoint(Context context) {
Location location = new Location("");
Geocoder geocoder = new Geocoder(context);
List<Address> addresses = null;
try {
addresses = geocoder.getFromLocationName("포천시청",3);
} catch (IOException e) {
e.printStackTrace();
}
if(addresses != null) {
for(int i = 0 ; i < addresses.size() ; i++) {
Address lating = addresses.get(i);
location.setLatitude(lating.getLatitude());
location.setLongitude(lating.getLongitude());
}
}
return location;
}
}
728x90
'Programming > Android' 카테고리의 다른 글
안드로이드 스튜디오 구글 맵에 마커 넣기 (15) | 2020.03.09 |
---|---|
안드로이드 스튜디오 다른액티비티로 ArrayList<Object> 보내기 (2) | 2020.03.08 |
안드로이드 스튜디오 구글 맵 사용하기 (0) | 2020.03.07 |
안드로이드 스튜디오 공공데이터포털 XML 파싱하기 (6) | 2020.03.07 |
안드로이드 스튜디오 notification 소리 진동 설정 (0) | 2020.03.04 |