我在我的应用程序中显示了谷歌地图,但我想制作默认的缩放控制,而我想制作自己的缩放控件。我试过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);
}
}
答案 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
。