위치 정보의 접속, 제공 또는 위치 정보에 의해 작용하는 모든 응용 소프트웨
어 서비스
모바일 네트워크를 통해 휴대 단말기에서 접근 할 수 있는 위치 정보 시스템
활용
위성과 GPS 수신기 및 위도/경도(ACCESS_FINE_LOCATION)
Cell(wifi) Tower Triangulation(ACCESS_COARSE_LOCATION)
Location Provider
LBS & Map 설정 Permission
<uses-permission android:name=“android.permission.INTERNET />
//LocationManager.GPS_PROVIDER
<uses-permission android:name=“android.permission.ACCESS_FINE_LOCATION”/>
//LocationManager.NETWORK_PROVIDER(Cell Tower & Wi-Fi)
<uses-permission android:name=“ android.permission.ACCESS_COARSE_LOCATION”/>
// Service 등의 백그라운드를 이용하여 위치정보를 얻고자 할 때(Android 10 == API LEVEL 29 higher)
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
LocationRequest

Marker
//마커를 이용해 포이정보를 찾는다
var poiResolver: MutableMap<Marker, POIItem> = HashMap()
//마커 추가
private fun addMapPoiMarker(position: LatLng, data: POIItem) {
val options = MarkerOptions()
with(options){
position(position)
icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN))
title(data.title)
snippet(data.subtitle)
draggable(true)
}
val marker = map.addMarker(options)
markerResolver[data] = marker
poiResolver[marker] = data
poiList.add(data)
}
}