我在下面问了关于日本服务的问题,但没有人回答。 所以,让我在这里问。请原谅我糟糕的英语。
我正在使用谷歌地图API的瓷砖叠加,适用于Android版本和2层。 然后我想更改图层。 用英语解释它对我来说太难了......所以请阅读我写的代码。
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if(mTileOverlay != null && seekBar.getProgress() > 50) {
mTileOverlay.remove();
setupOverlayLayersA(_mMap); //set Layer A
mTileOverlay.setTransparency(1.0f - ((float) progress - 50f) / 50f);
}else if (seekBar.getProgress() == 50) {
mTileOverlay.setTransparency(1.0f);
}else if(seekBar.getProgress() < 50){
mTileOverlay.remove();
setupOverlayLayersB(_mMap); //set Layer B
mTileOverlay.setTransparency((float) progress / (float) 50);
}
}
此问题是在更改寻道进度时重复"删除"和"设置层"。我想做的是在搜索进度超过 50 或小于 50 时仅更改一次图层,并实现透明度 我应该如何修复代码?
*我想做的是这样的...
搜索栏
B--------------50--------------A
|----------------------------------|
透明度
B--------------50--------------A
0.0f----------1.0f------------0.0f
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if(mTileOverlay != null && seekBar.getProgress() > 50) {
if(seekBar.getProgress() == 51){
mTileOverlay.remove();
setupOverlayLayersA(_mMap); //set Layer A
}
mTileOverlay.setTransparency(1.0f - ((float) progress - 50f) / 50f);
}else if (seekBar.getProgress() == 50) {
mTileOverlay.setTransparency(1.0f);
}else if(seekBar.getProgress() < 50){
if(seekBar.getProgress() == 49){
mTileOverlay.remove();
setupOverlayLayersB(_mMap); //set Layer B
}
mTileOverlay.setTransparency((float) progress / (float) 50);
}
}