Масштабирование авторазмера на Google Maps в Java? (зависящий разрешение экрана андроида)

У меня есть 2 GeoPoints, данные, чтобы показать им на карте с маркерами.

Как я могу получить оптимальный уровень масштабирования для MapController, чтобы сфокусировать середину обеих точек, но также и иметь их на карте.

Все это должно работать в различных разрешениях экранов.

8
задан Kara 9 December 2013 в 04:07
поделиться

1 ответ

Вы можете сделать это с помощью MapView MapController . Вы получаете MapController с помощью MapView.getController () , затем вы можете попытаться установить правильный масштаб с помощью MapController.zoomToSpan (). Я также предпочитаю использовать getLatSpanE6 () и getLonSpanE6 () ItemizedOverlay, чтобы сделать это проще. Пример:

MapView map = (MapView) findViewById(R.id.Map);
MapController mc = map.getController();
mc.zoomToSpan(overlay.getLatSpanE6(), overlay.getLonSpanE6());

Важно отметить их предостережение:

Поскольку масштабирование может достигать только дискретных уровней, и поскольку соотношение сторон карты может не соответствовать {{1} }} данное соотношение, качество соответствия может отличаться. Единственное, что мы гарантируем, - это то, что после увеличения на хотя бы одна из новой широты или новая долгота будет в пределах множителя 2. от соответствующего параметра.

Редактировать: Чтобы карта также увеличивалась в нужном месте, вы должны использовать MapController.setCenter ().

9
ответ дан 5 December 2019 в 18:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: