2012-01-13 5 views
0

Я использую Osmdroid создать автономную картуКак я могу переопределить масштабирование по умолчанию в osmdroid?

Теперь я хочу, чтобы реализовать свою собственную щепотку, чтобы увеличить функциональность для оффлайновых карт

Когда пользователь использует щипок, я хотел бы, чтобы увеличить/уменьшить масштаб, чтобы только определенный уровень масштабирования, а не уровень увеличения/уменьшения масштаба на 1

Есть ли способ сделать это? как я могу это сделать?

P.S: да, есть элементы управления масштабом, но я хотел бы сделать масштабирование функция более интуитивным

Благодаря

ответ

1

Я имел дело с аналогичным вопросом here, и предоставил код для пользовательских функций на щепотку. Таким образом, в основном, расширяясь на то, что я имел в ответ, просто в основном делают:

int currentZoomLevel = mOsmv.getController().getZoomLevel(); 
if (currentZoomLevel < (mOsmv.getControler().getMaxZoomLevel()) - 2) 
    mOsmv.getController().setZoomLevel(currentZoomLevel + 2); 

Это просто пример увеличения уровня масштабирования на 2, а не только 1. Я также написал код, указанный выше из памяти, поэтому я не уверен на 100%, если вы вызываете getController(), чтобы получить текущий и максимальный уровень масштабирования, но я уверен, что все. mOsmv, на всякий случай, если вы его не получите, это экземпляр карты osmdroid.

+0

спасибо за ссылку, я буду реализовывать это в понедельник, в основном, я хочу внести изменения в 'mapview.java' Osmdroid, чтобы я мог создать новый файл jar –

+0

Нет проблем! И не забудьте отметить правильный ответ, если он ответит на ваш вопрос :) – digerati32

1

Я думаю, что способ сделать это будет расширить MapView.

Переопределение setZoomLevel выглядит как один из вариантов, но я не думаю, что он сработает. Как я считаю, код должен быть написан в стиле this.setZoomLevel, который он не выполняет постоянно.

Я думаю, что вы должны быть в состоянии отменить selectObject, который выглядит как место, где щепотка TRIGERS вызова setZoomLevel

Вам нужно будет проверить source code, чтобы увидеть, как сделать nessasary модификации

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