На событии масштабирования для Google отображается на андроиде

Мы создаем приложение, которое использует API карт Google для андроида.

У меня есть свой MapController и MapView, и я включаю встроенное использование средств управления масштабированием:

mapView.setBuiltInZoomControls(true);

Я теперь хотел бы получить событие, когда пользователь на самом деле масштабирует на карте, как я иду об этом? Я не могу найти такое событие или любое общее событие, где я мог обнаружить изменение на уровне масштабирования.

Обновление

mapView.getZoomControls () удерживается от использования. И документация предлагает использовать mapView.setBuiltInZoomControls (bool) вместо этого. Это хорошо, но я просто не могу выяснить, как действовать на события от созданного в средствах управления масштабированием.

39
задан Bjarke Freund-Hansen 6 January 2010 в 15:01
поделиться

4 ответа

Как сказано в операционной системе, используйте onUserInteractionEvent и сделайте тест самостоятельно.

5
ответ дан 27 November 2019 в 02:17
поделиться

API android предлагает использовать ZoomControls, который имеет setOnZoomInClickListener()

Для добавления этих элементов управления масштабированием вы бы:

ZoomControls mZoom = (ZoomControls) mapView.getZoomControls();

А затем добавили бы mZoom в макет.

4
ответ дан 27 November 2019 в 02:17
поделиться

Вы можете использовать

ZoomButtonsController zoomButton = mapView.getZoomButtonsController();
zoomButton.setOnZoomListener(listener);

, надеюсь, это поможет

4
ответ дан 27 November 2019 в 02:17
поделиться

U может иметь Zoom CControl следующим образом.

Здесь я прикрепляю код, как реализовать управление масштабированием.

1>> XML-файл должен быть таким.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">

    <com.google.android.maps.MapView 
        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="0l4sCTTyRmXTNo7k8DREHvEaLar2UmHGwnhZVHQ"
        />

    <LinearLayout android:id="@+id/zoom" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" 
        /> 

</RelativeLayout>

2>> При выполнении основного действия внутри метода oncreate выполните следующие действия. здесь вы расширяете свое представление с помощью mapView

mapView = (MapView) findViewById(R.id.mapView);
        LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom);  
        View zoomView = mapView.getZoomControls(); 

        zoomLayout.addView(zoomView, 
            new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, 
                LayoutParams.WRAP_CONTENT)); 
        mapView.displayZoomControls(true);

....................................... .................... Вот как вы можете использовать встроенный элемент управления масштабированием API..

У вас может быть свой собственный код для реализации увеличения и уменьшения масштаба, как это...

public boolean onKeyDown(int keyCode, KeyEvent event) 
{
    MapController mc = mapView.getController(); 
    switch (keyCode) 
    {
        case KeyEvent.KEYCODE_3:
            mc.zoomIn();
            break;
        case KeyEvent.KEYCODE_1:
            mc.zoomOut();
            break;
    }
    return super.onKeyDown(keyCode, event);
}    

.. Вот как я реализовал...

Спасибо..Ракеш

2
ответ дан 27 November 2019 в 02:17
поделиться
Другие вопросы по тегам:

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