Как увеличить камеру, чтобы покрыть путь в android googlemap?

Я просмотрел несколько местоположений на Google map используя LatLng.Builder и он работает. Есть ли способ охватить весь путь между двумя местоположениями на Google map ?

Мой код для вставки

 builder = new LatLngBounds.Builder(); builder.include(LatLng1); builder.include(LatLng2); googleMap.animateCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 17)); 

Любое предложение, пожалуйста?
благодаря

Я знаю, что вы уже нашли ответ, но вот мой метод решения проблемы

 boolean hasPoints = false; Double maxLat = null, minLat = null, minLon = null, maxLon = null; if (polyline != null && polyline.getPoints() != null) { List<LatLng> pts = polyline.getPoints(); for (LatLng coordinate : pts) { // Find out the maximum and minimum latitudes & longitudes // Latitude maxLat = maxLat != null ? Math.max(coordinate.latitude, maxLat) : coordinate.latitude; minLat = minLat != null ? Math.min(coordinate.latitude, minLat) : coordinate.latitude; // Longitude maxLon = maxLon != null ? Math.max(coordinate.longitude, maxLon) : coordinate.longitude; minLon = minLon != null ? Math.min(coordinate.longitude, minLon) : coordinate.longitude; hasPoints = true; } } if (hasPoints) { LatLngBounds.Builder builder = new LatLngBounds.Builder(); builder.include(new LatLng(maxLat, maxLon)); builder.include(new LatLng(minLat, minLon)); map.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 48)); } 

Решение было простым

Это может помочь кому-то в будущем, если вы ищете такую ​​функцию.

Этот метод вызывается после того, как google direction API возвращает маршрут из location A to B directionPoints – это list точек в маршруте.

 public void handleResult(ArrayList<LatLng> directionPoints) { PolylineOptions rectLine = new PolylineOptions().width(3).color(Color.RED); for(int i = 0 ; i < directionPoints.size() ; i++) { rectLine.add(directionPoints.get(i)); } //this polyline is stored so that it can be removed by calling drawnRoutePath.remove() if needed drawnRoutePath = googleMap.addPolyline(rectLine); prepareBuilder(directionPoints); googleMap.animateCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 17)); } 

ОБНОВИТЬ

Ответ json от API Google Direction

 "routes" : [ { "bounds" : { "northeast" : { "lat" : 27.7136953, "lng" : 85.32216629999999 }, "southwest" : { "lat" : 27.7103725, "lng" : 85.3214952 } }, .... etc 

Поэтому я использовал параметр lat и lng качестве параметра для LatLngBounds.Builder .

 JSONObject jsonBound = ((JSONObject)jRoutes.get(i)).getJSONObject("bounds"); JSONObject jsonSouthWest = jsonBound.getJSONObject("southwest"); JSONObject jsonNorthEast = jsonBound.getJSONObject("northeast"); LatLng boundSouthWest = new LatLng(jsonSouthWest.getDouble("lat"),jsonSouthWest.getDouble("lng")); LatLng boundNorthEast = new LatLng(jsonNorthEast.getDouble("lat"),jsonNorthEast.getDouble("lng")); ArrayList<LatLng> bounds = new ArrayList<LatLng>(); bounds.add(boundNorthEast); bounds.add(boundSouthWest); 

И включил эти пункты в LatLngBounds.Builder

Intereting Posts
AppWidget не отображается в списке виджетов запуска только на устройствах с леденцом Воспроизведение предварительно записанного звука в голосовой вызов Как заставить код ждать, пока анимация не закончится в android? Установите фоновое изображение на вкладке в Android Сохранение обслуживания во время изменений ориентации Запуск PopupMenu с помощью кнопок внутри элемента ListView Невозможно изменить мягкую клавиатуру, введите «done» после обновления до пряников Android – новая запись данных добавлена ​​к неправильному контакту Объявление Admob никогда не отображается в представлении Android Лучший способ избежать диалогов, которые нужно отклонить после поворота устройства Отправка приложений на Android Market и Amazon Appstore Android SDK 22 – проблемы с поиском SearchView Вопросы Android AudioRecord? Панель действий Android SearchView Значок Размер значка Удаление плагинов cordova из проекта