У меня есть 5 контактов, добавленных к карте. Как я могу сказать MapView увеличить как можно больше и держать все контакты в поле зрения?Android Карта Увеличить, чтобы показать все контакты
ответ
Я использовал этот метод в недавнем проекте шахты
public void centerOverlays() {
int minLat = 81 * MapStoresController.MAP_SCALE;
int maxLat = -81 * MapStoresController.MAP_SCALE;
int minLon = 181 * MapStoresController.MAP_SCALE;
int maxLon = -181 * MapStoresController.MAP_SCALE;
for (int i = 0; i < overlayItems.size(); i++) {
Store s = overlayItems.getItem(i).getStore();
minLat = (int) ((minLat > (s.getLocation().getLatitude() * MapStoresController.MAP_SCALE)) ? s.getLocation().getLatitude() * MapStoresController.MAP_SCALE : minLat);
maxLat = (int) ((maxLat < (s.getLocation().getLatitude() * MapStoresController.MAP_SCALE)) ? s.getLocation().getLatitude() * MapStoresController.MAP_SCALE : maxLat);
minLon = (int) ((minLon > (s.getLocation().getLongitude() * MapStoresController.MAP_SCALE)) ? s.getLocation().getLongitude() * MapStoresController.MAP_SCALE : minLon);
maxLon = (int) ((maxLon < (s.getLocation().getLongitude() * MapStoresController.MAP_SCALE)) ? .getLocation().getLongitude() * MapStoresController.MAP_SCALE : maxLon);
}
GeoPoint gp = controller.getUserLocation();
minLat = (minLat > gp.getLatitudeE6()) ? gp.getLatitudeE6() : minLat;
maxLat = (maxLat < gp.getLatitudeE6()) ? gp.getLatitudeE6() : maxLat;
minLon = (minLon > gp.getLongitudeE6()) ? gp.getLongitudeE6() : minLon;
maxLon = (maxLon < gp.getLongitudeE6()) ? gp.getLongitudeE6() : maxLon;
mapView.getController().zoomToSpan((maxLat - minLat), (maxLon - minLon));
mapView.getController().animateTo(new GeoPoint((maxLat + minLat)/2, (maxLon + minLon)/2));
}
В основном это просто находит пределы коробки и устанавливает вид на ближайший друг, который охватывает границы
где определяется MapStoresController? Я не могу найти его ссылку, это часть google map api? – ala
Это то, что я реализовал сам. Свойство MAP_SCALE определяется как: public static final int MAP_SCALE = (int) 1E6; –
Решение Schwiz ниже намного лучше –
это гораздо проще если вы используете ItemizedOverlay
public void fitOverlays() {
mMapView.getController().zoomToSpan(mItemizedOverlay.getLatSpanE6(), mItemizedOverlay.getLonSpanE6());
}
, где назвать эту функцию? – Krishnabhadra
всякий раз, когда вы добавляете больше оверлеев, я думаю, или если есть кнопка масштабирования, чтобы установить ее. На самом деле вопрос дизайна у вас есть. – schwiz
- 1. iPhone zoom карта, чтобы показать все контакты
- 2. MKMapKit. Карта центра, чтобы показать все MKAnnotation
- 3. map увеличить/уменьшить, чтобы включить все контакты динамически
- 4. Android: Показать все контакты, отсортированные по избранным
- 5. iOS MKMapView увеличить, чтобы показать все маркеры
- 6. Android map v2 увеличить, чтобы показать все метки
- 7. Показать контакты в android
- 8. Phonegap Sencha показать все Контакты
- 9. FragmentActivity - Увеличить, чтобы показать улицы
- 10. Показать контакты в ListView Android
- 11. Увеличить, чтобы показать все местоположения на сайтах bing
- 12. Google Maps V3 Увеличить, чтобы показать все маркеры, не работающие
- 13. Здесь Карты - Карта центра, чтобы показать все маркеры
- 14. Google API Карта Увеличить
- 15. увеличить Shared Карта памяти
- 16. ews resolvename, чтобы получить все контакты
- 17. Bing Maps Windows Store 8.1 Показать все контакты
- 18. MapView показать все аннотации и увеличить как можно больше карт
- 19. Как показать контакты с помощью AutoCompleteTextView android?
- 20. как dispaly multilpe контакты на arcGis карта в android
- 21. Android: получить все контакты по IM
- 22. Android извлечь все контакты дублированные имена
- 23. Невозможно прочитать все контакты с телефона Android
- 24. Невозможно получить все контакты с Android
- 25. jQuery увеличить окно, чтобы показать содержимое переполнения
- 26. Специальная группа «Мои контакты» в Android контакты
- 27. AngularJS/NgMap - Увеличить выбранные контакты и центр
- 28. Создание запроса SQL, чтобы показать клиентам и их контакты
- 29. Android: Контакты Phone.TYPE
- 30. Windows Phone Map Control показать все местоположения (увеличить, чтобы включить все кнопки)
Ссылка мертва. Пожалуйста, обновите его. – JHHoang
удалена мертвая ссылка – Siddharth