Как исключить LatLng, который слишком далеко для включения в LatLngBounds из-за максимального увеличения Google Map? - PullRequest
0 голосов
/ 12 июня 2019

Так что я должен показать как можно больше маркеров на моей карте Google на Android. Я использую следующий код, чтобы получить соответствующие LatLngBounds для отображения всего массива маркеров в одном окне на экране:

val builder = LatLngBounds.Builder()
for (point in latLngPoints()) {
    builder.include(point)
}
val bounds = builder.build()
googleMapCameraBoundsCalculated(bounds, gMap)

private fun googleMapCameraBoundsCalculated(latLngBounds: LatLngBounds, gMap: GoogleMap) {
    gMap.moveCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, CAMERA_ZOOM_PADDING_METERS))
}

Теперь, проблема возникает, когда у меня есть маркеры, которые находятся ... скажем, на Гавайях, и тот, который находится в Нью-Йорке.

Из-за очень очень больших расстояний между маркером в Нью-Йорке и маркерами на Гавайях (рядом друг с другом), камера перемещается к среднему значению маркеров (между ними), но не может увеличить достаточно, чтобы полностью увидеть все маркеры. В идеале я хотел бы найти способ исключить маркеры, которые находятся дальше всего от среднего значения (например, в Нью-Йорке), чтобы камера могла увеличивать маркеры на Гавайях (которые все относительно близко друг к другу).

По сути, я хочу исключить маркеры, которые бы препятствовали отображению большинства маркеров из-за максимально возможного увеличения на карте Google.

Спасибо за предоставленную помощь, я нигде не нашел решения этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...