Изменить элементы управления масштабированием в MapView - PullRequest
5 голосов
/ 18 января 2012

Я хотел бы изменить предопределенный стиль элементов управления масштабированием в моем приложении, чтобы они отображались как новые элементы управления масштабированием в приложении Google Maps. Смотрите ниже:

enter image description here

Как я могу это сделать? Я искал вокруг и ничего не нашел.

Заранее спасибо.

Ответы [ 2 ]

5 голосов
/ 18 января 2012

Я решил проблему следующим образом: отключил встроенные элементы управления масштабированием (setBuiltInZoomControls(false)), добавил свои собственные кнопки в пользовательский интерфейс и добавил обработчики для событий нажатия кнопки.

5 голосов
/ 18 января 2012

У вас должно быть четыре изображения, а именно:

  1. Увеличение (+) включение / отключение
  2. Уменьшить (-) включить / отключить

Поместите их в MapView макет ImageView или Button с фоновым изображением, как показано выше.

Тогда вы должны назначить onClickListeners как:

zoomIn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        mapView.getController.zoomIn()
        checkzoom();
    }
});

zoomOut.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        mapView.getController.zoomOut()
        checkzoom();
    }
});

public void checkzoom() {
    if(mapView.getZoomLevel()==1) // dont know if 0 or 1, just wrote it
    {
        zoomOut.setEnabled(false);
        // or u can change drawable and disable click
    }
    if(mapView.getZoomLevel()==18) {
        zoomIn.setEnabled(false);
        // or u can change drawable and disable click
    }
}

EDIT: zoom in zoom out

...