1

マーカーなどを使用して Google マップを表示する WebView を作成しました。これは非常にうまく機能し、私のデバイス (HTC Sensation) では問題なくマップをズームイン/ズームアウトできますが、他のデバイスではズームが不可能になることがあります。 . 私はすでに setSupportZoom(true) と setBuiltInZoomControls(true) を試しましたが、うまくいきません。マップをズームする代わりに、コンテンツを拡大縮小するだけです (写真のズームインのように)。

私の質問は、すべてのデバイスでマップのズームを有効にするにはどうすればよいですか?

4

1 に答える 1

1

ズームインを制御したい場合-ズームアウトし、デフォルトのズームイン制御を使用しないでください。あなたのxmlファイルセットで..

<ZoomControls android:id="@+id/zoomctrl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="top|center_horizontal"
/>

そしていま。アクティビティで ZoomControls zc; を宣言して初期化します。

class CurOverlay extends Overlay {
    private GeoPoint pointToDraw;

    public void setPointToDraw(GeoPoint point) {
        pointToDraw = point;
    }

    public OnTouchListener mMapTouch = new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            Log.v("TAG", "inside onTouch");
            zoomlvl = curmapView.getZoomLevel();
            if (zoomlvl == 19)
                zc.setIsZoomInEnabled(false);
            else if (zoomlvl == 1)
                zc.setIsZoomOutEnabled(false);
            else {
                zc.setIsZoomInEnabled(true);
                zc.setIsZoomOutEnabled(true);
            }
            return false;
        }
    };
            ...
            ....

}

ズームインとズームアウトのクリックイベントの場合は..

zc.setOnZoomInClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    zc.setIsZoomOutEnabled(true);
                    curmapController.zoomIn();
                    if (curmapView.getZoomLevel() == 19)
                        zc.setIsZoomInEnabled(false);

                }
            });
            zc.setOnZoomOutClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    zc.setIsZoomInEnabled(true);
                    curmapController.zoomOut();
                    if (curmapView.getZoomLevel() == 1)
                        zc.setIsZoomOutEnabled(false);
                }
            });

この地図がお役に立てば幸いです

于 2012-11-22T12:46:54.093 に答える