Always show zoom controls on a MapView

前端 未结 2 1347
天命终不由人
天命终不由人 2020-12-24 08:22

Is there a way to always show the zoom controls on a MapView? I have added the zoom controls using

map=(MapView)findViewById(R.id.map);
map.setBuiltInZoomCon         


        
相关标签:
2条回答
  • 2020-12-24 09:00

    Solved this by putting my own ZoomControls in my layout xml:

    <ZoomControls android:id="@+id/zoomcontrols"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
    

    and then setting up onClickListeners for then to handle the zoom:

        zoomControls = (ZoomControls) findViewById(R.id.zoomcontrols);
        zoomControls.setOnZoomInClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mapController.zoomIn();
            }
        });
        zoomControls.setOnZoomOutClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mapController.zoomOut();
            }
        });
    
    0 讨论(0)
  • 2020-12-24 09:07

    Intrications' solution does work, but you lose the built in functionality where the button disables when you have zoomed in or out all the way. You can retain this functionality by using the following instead:

    localMapView.getZoomButtonsController().setAutoDismissed(false);
    

    However, this does not let you place the controls wherer you want in the panel, and although it does not go away, it does not show up the first time until the user touches the screen once. I tried calling setVisible(true) on the controller, but that does not seem to work for some reason.

    0 讨论(0)
提交回复
热议问题