Привет, я использую карту Google в Android. Где я рисую линию между двумя GeoPoints. Мне нужно динамически устанавливать уровень масштабирования по мере увеличения или уменьшения расстояния между двумя точками.
Жду твоего ответа
Привет, я использую карту Google в Android. Где я рисую линию между двумя GeoPoints. Мне нужно динамически устанавливать уровень масштабирования по мере увеличения или уменьшения расстояния между двумя точками.
Жду твоего ответа
Используйте zoomToSpan()
на MapController
. Вычислите пролет на основе расстояний между вашими точками. Если ваши точки не центрированы, либо примите это во внимание (увеличив желаемый диапазон), либо центрируйте карту.
Я нашел подобное решение. Вы можете использовать CameraUpdateFactory.newLatLngBounds(LatLngBounds bounds, int padding)
Вот пример:
Builder boundsBuilder = LatLngBounds.builder();
ArrayList<LatLng> decodedPoints = (ArrayList<LatLng>) PolyUtil.decode(step);
for (LatLng point : decodedPoints) {
boundsBuilder.include(point);
}
LatLngBounds bounds = boundsBuilder.build();
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 10);
map.moveCamera(cameraUpdate);
map.fitBounds(bounds:LatLngBounds);
, и он автоматически настроит ваш вид на основе точек LatLngBounds. - person KJYe.Name 葉家仁   schedule 25.04.2011