2014-01-30 3 views
0

Привет В настоящее время я пытаюсь отобразить несколько точек на картах Google. Все работает отлично для функции масштабирования. Я не могу понять, как установить масштаб, чтобы отображать все точки. Код хорошо отображается, если точки близки, но если это далеко, это не так. Я искал, но не мог найти ничего.Установка масштаба Android для нескольких точек

Любая помощь?

 Marker storeMarker = mMap.addMarker(new MarkerOptions().position(latLng).title(name).snippet("test")); 

     CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(lat, lng)); 
     CameraUpdate zoom = CameraUpdateFactory.zoomTo(10); 

     mMap.moveCamera(center); 
     mMap.animateCamera(zoom); 

ответ

0

Вы должны вычислить LatLngBounds, которые будут содержать все ваши очки, а затем вызвать CameraUpdateFactory.newLatLngBounds (...) и обновить карту с этим обновлением.

См: http://developer.android.com/reference/com/google/android/gms/maps/CameraUpdateFactory.html#newLatLngBounds(com.google.android.gms.maps.model.LatLngBounds, int)

Вам не нужно обновлять карту дважды - есть функции для создания зума + центра одновременно.

Расчет границ производится с использованием LatLngBounds.Builder и включает все точки в нем.

+0

http://pastebin.com/L6tcuPW9 Есть ли шанс, что вы могли бы быстро взглянуть на это и просто указать мне в правильном направлении? Im в настоящее время вызывает DownloadTask downloadTask = new DownloadTask(); каждый раз, когда я получаю новый почтовый индекс, поэтому не уверен, как рассчитать несколько точек. Если это имеет смысл? ha – user3237406

+0

Вам нужно включить все точки в один LatLngBounds, а затем построить и увеличить - то, что вы делаете сейчас, создает новые границы для каждой точки. Проверьте этот ответ с кодом: http://stackoverflow.com/questions/16416041/zoom-to-fit-all-markers-on-map-google-maps-v2 – Raanan

Смежные вопросы