如何更改图层



我在下面问了关于日本服务的问题,但没有人回答。 所以,让我在这里问。请原谅我糟糕的英语。

我正在使用谷歌地图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);
}
}

相关内容

  • 没有找到相关文章

最新更新