Я пытаюсь разработать приложение для Android с помощью Kotlin в Android Studio. Я хочу сделать маркеры для аптеки в своем приложении на Картах Google. Мой вопрос в моем коде:
private fun searchNearbyPharmacies(location: LatLng) {
val placeFields = listOf(Place.Field.DISPLAY_NAME, Place.Field.LOCATION, Place.Field.TYPES)
val request = FindCurrentPlaceRequest.newInstance(placeFields)
placesClient.findCurrentPlace(request)
.addOnSuccessListener { response ->
for (placeLikelihood in response.placeLikelihoods) {
val place = placeLikelihood.place
val placeTypes = placeLikelihood.place.placeTypes
placeTypes?.forEach { placeType ->
Log.i("PlaceType", "Place type: $placeType")
}
if (placeTypes?.contains(PlaceTypes.PHARMACY) == true) {
val latLng = place.location
latLng?.let {
addMarkerForPharmacy(latLng, place.displayName ?: "Pharmacy")
}
}
}
}.addOnFailureListener { exception ->
exception.printStackTrace()
}
}
в PlaceTypes нет понятия «Аптека», почему? Как это исправить?
Код работает так, как если бы я изменил его с PlaceTypes.PHARMACY на PlaceTypes.MUSEUM в следующем коде
if (placeTypes?.contains(PlaceTypes.MUSEUM) == true)
В этом случае я могу сделать маркеры для других типов мест, например музея.
Заранее спасибо.
Код в порядке, так как я могу создавать такие маркеры, как учреждение, точка_интереса, музей и т. д. Но там нет аптеки. Но если я увеличу карту, я увижу аптеки. Я пробовал это и в эмуляторе, и на реальном устройстве.
Я записываю в журнал PlaceTypes, а там только эти типы:
placeTypes?.forEach { placeType ->Log.i("PlaceType", "Place type: $placeType")}
I Place type: tourist_attraction
I Place type: point_of_interest
I Place type: establishment
I Place type: street_address
I Place type: transit_station
I Place type: cafe
I Place type: bar
I Place type: restaurant
I Place type: food
I Place type: store
I Place type: museum
Подробнее здесь: https://stackoverflow.com/questions/791 ... ps-markers
Android, Kotlin, маркеры Google Maps ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение