@@ -41,9 +41,11 @@ class MapsFragment : Fragment() {
41
41
private lateinit var autocompleteLayout : LinearLayout
42
42
private lateinit var targetLatLng : LatLng
43
43
private lateinit var targetName : String
44
+ private lateinit var autocompleteFragment : AutocompleteSupportFragment
44
45
private var currentLatLng : LatLng ? = null
45
46
private var targetMarker : Marker ? = null
46
47
48
+
47
49
companion object {
48
50
private const val LOCATION_PERMISSION_REQUEST_CODE = 1
49
51
}
@@ -74,9 +76,8 @@ class MapsFragment : Fragment() {
74
76
}
75
77
76
78
private fun setPlacesSearchBias () {
77
- val autocompleteFragment = childFragmentManager.findFragmentById(R .id.autocomplete_fragment) as AutocompleteSupportFragment
78
79
// Search nearby result
79
- currentLatLng?.let {
80
+ currentLatLng?.let {
80
81
Log .i(TAG , " currentLatLng" )
81
82
autocompleteFragment.setLocationBias(
82
83
RectangularBounds .newInstance(
@@ -95,18 +96,24 @@ class MapsFragment : Fragment() {
95
96
96
97
// Add and adjust the position of MyLocation button.
97
98
map.isMyLocationEnabled = true
98
- map.setPadding(0 ,(1.5 * autocompleteLayout.height).toInt(),0 ,0 )
99
+ map.setPadding(0 ,(getString( R .string.padding_ratio).toFloat() * autocompleteLayout.height).toInt(),0 ,0 )
99
100
100
101
fusedLocationClient.lastLocation.addOnSuccessListener(this .activity as Activity ) { location ->
101
102
// Got last known location. In some rare situations this can be null.
102
- if ( location != null ) {
103
+ location?. let {
103
104
lastLocation = location
104
105
currentLatLng = LatLng (location.latitude, location.longitude)
105
- map.animateCamera(CameraUpdateFactory .newLatLngZoom(currentLatLng, 14f ))
106
+ map.animateCamera(CameraUpdateFactory .newLatLngZoom(
107
+ currentLatLng,
108
+ getString(R .string.zoom_value).toFloat()
109
+ ))
106
110
map.addMarker(MarkerOptions ()
107
111
.position(currentLatLng!! )
108
- .title(" My location" ))
109
- map.moveCamera(CameraUpdateFactory .newLatLngZoom(currentLatLng, 14f ))
112
+ .title(getString(R .string.my_location_title)))
113
+ map.moveCamera(CameraUpdateFactory .newLatLngZoom(
114
+ currentLatLng,
115
+ getString(R .string.zoom_value).toFloat()
116
+ ))
110
117
setPlacesSearchBias()
111
118
}
112
119
}
@@ -146,7 +153,10 @@ class MapsFragment : Fragment() {
146
153
147
154
private val searchPlacesCallback = OnMapReadyCallback { map ->
148
155
targetMarker?.remove()
149
- map.moveCamera(CameraUpdateFactory .newLatLngZoom(targetLatLng, 14f ))
156
+ map.moveCamera(CameraUpdateFactory .newLatLngZoom(
157
+ targetLatLng,
158
+ getString(R .string.zoom_value).toFloat()
159
+ ))
150
160
targetMarker = map.addMarker(MarkerOptions ()
151
161
.position(targetLatLng)
152
162
.title(targetName)
@@ -167,7 +177,7 @@ class MapsFragment : Fragment() {
167
177
initPlaces()
168
178
169
179
val mapFragment = childFragmentManager.findFragmentById(R .id.map_fragment) as SupportMapFragment
170
- val autocompleteFragment = childFragmentManager.findFragmentById(R .id.autocomplete_fragment) as AutocompleteSupportFragment
180
+ autocompleteFragment = childFragmentManager.findFragmentById(R .id.autocomplete_fragment) as AutocompleteSupportFragment
171
181
autocompleteLayout = view.findViewById(R .id.autocomplete_linearLayout)
172
182
mapFragment.getMapAsync(mapReadyCallback)
173
183
0 commit comments