如何更改图层

时间:2018-08-17 04:18:41

标签: java android google-maps tile

我在以下关于stacoverflow之类的日文服务的问题问过,但是没有人回答。 所以,让我在这里问。请原谅我的英语不好。

我正在使用适用于Android ver和2层的Google Maps API的Tile Overlay。 然后我要更改图层。 要用英语解释这对我来说太难了...所以请阅读我写的代码。

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时,仅更改一次图层,并启用透明度 我应该如何修复代码?

*我想做的就是这样...

SeekBar

B -------------- 50 -------------- A
| ---------------------------------- |

透明度

B -------------- 50 -------------- A
0.0f ---------- 1.0f ------------ 0.0f

1 个答案:

答案 0 :(得分:0)

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);

            }
        }