如何隐形Google Zoom控件并进行自己的缩放控制?

时间:2014-08-13 05:44:42

标签: android google-maps zoom

我在我的应用程序中显示了谷歌地图,但我想制作默认的缩放控制,而我想制作自己的缩放控件。我试过map.getUiSettings().setZoomControlsEnabled(false);,但显示的地图无法解析。

代码:

import java.util.Map;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        map.getUiSettings().setZoomControlsEnabled(false);
    }
}

2 个答案:

答案 0 :(得分:1)

您需要使用以下方法禁用默认缩放按钮:

map.getUiSettings().setZoomControlsEnabled(false);

<强>更新

import java.util.Map;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {
    private GoogleMap googleMap ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (googleMap == null) {
        googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
    }
    if (googleMap == null) {
        Toast.makeText(getApplicationContext(), "Sorry, Unable to Load Map", Toast.LENGTH_SHORT).show();
    }
    googleMap .getUiSettings().setZoomControlsEnabled(false);

// Then add two buttons on map where ever you need then perform on click action like:

findViewById(R.id.zoom_in_button).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mMap.animateCamera(CameraUpdateFactory.zoomIn());
            }
        });
findViewById(R.id.zoom_out_button).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mMap.animateCamera(CameraUpdateFactory.zoomOut());
            }
        });
}
}

答案 1 :(得分:0)

根据您的代码,您的问题是您没有获得您在XML文件中定义的GoogleMap对象的实例,您需要在Activity的onCreate上运行此方法:

 private void initializeMap() {
    if (googleMap == null) {
        googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
    }
    if (googleMap == null) {
        Toast.makeText(getApplicationContext(), "Sorry, Unable to Load Map", Toast.LENGTH_SHORT).show();
    }
}

确保您将{x}文件中的R.id.map更改为正确的id