Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MapView.zoomin(20%);
MapView.zoomin(50%);
MapView.zoomin(100%);
}
});
我希望你能帮助我解决我的问题,我是android开发中的新手。
答案 0 :(得分:2)
你可以插入这个变量:
private static int button_state=0;
private static int[] available_zooms = new int[]{20,50,100}
现在你的方法onClick你插入:
MapView.zoomin(available_zooms[button_state++]);
if(button_state==available_zooms.length)
button_state=0;
看起来像这样:
private static int button_state=0;
private static int[] available_zooms = new int[]{20,50,100}
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MapView.zoomin(available_zooms[button_state++]);
if(button_state==available_zooms.length)
button_state=0;
}
});
答案 1 :(得分:2)
你必须这样写,
int count = 0;
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (count == 0) {
MapView.zoomin(20%);
} else if (count == 1) {
MapView.zoomin(50%);
} else {
MapView.zoomin(100%);
}
count++;
}
});
答案 2 :(得分:1)
这可以通过不同的方法来完成; 一个可能是这个:
float zoom = map.getCameraPosition().zoom;
if (zoom<20) {MapView.zoomin(20%);}
else if (zoom>=20 && zoom<50) {MapView.zoomin(50%);}
else if (zoom>=50) {MapView.zoomin(100%);}
答案 3 :(得分:1)
试试这个
int mycount = 0;
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
++mycount
if(mycount == 1){
String zoom = "20%"}
else if(mycount == 2){
String zoom = "50%"}
else if(mycount == 3){
String zoom = "100%"}
MapView.zoomin(zoom);
}
});
答案 4 :(得分:0)
private int click_count = 0;
k = (Button)findViewById(R.id.button1);
k.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int count = ++click_count;
if(count == 1) {
//zoom to 20%
}
if(count == 2) {
// zoom to 50%
}
if(count == 3){
/zoom to 100%
}
}
});
答案 5 :(得分:0)
您可以使用MapView.getZoomLevel()方法获取当前缩放级别,然后根据当前缩放级别使用开关或其他内容查找下一个缩放级别,并使用MapView.zoomIn()进行放大。
答案 6 :(得分:0)
创建一个存储缩放值的整数列表,然后在每次单击时将列表的索引递增1。当缩放级别达到100时,下一次单击会将缩放级别重置为20%。
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
ArrayList<Integer> zoomlevels = new ArrayList<Integer>();
zoomlevels.add(20);
zoomlevels.add(50);
zoomlevels.add(100);
int counter = 0;
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MapView.zoomin(zoomlevels[counter]);
counter++;
if(counter == 2) counter = 0;
}
});
答案 7 :(得分:0)
int zoomLevel = 0;
Button zooomin = (Button) findViewById(R.id.plus);
zooomin.init(this);
zooomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(zoomLevel ==0){
MapView.zoomin(20%);
zoomLevel = 20;
}else if(zoomLevel == 20){
MapView.zoomin(50%);
zoomLevel = 50;
}else if(zoomLevel == 50){
MapView.zoomin(100%);
zoomLevel = 100;
}
}
});