android - 使用 Handler 设置 Visibile/Invisibile 一个 maker
问题描述
我正在为一个项目使用谷歌地图。我正在使用处理程序将标记设置为可见或不可见。如果相机的变焦超过一个数字,我必须将标记设置为不可见,或者如果变焦低于一个数字,我必须将标记设置为不可见。我正在使用 ArrayList 来保存所有标记。
我需要创建一个计时器,该计时器将继续工作,直到应用程序关闭
我的问题是处理程序没有启动。下面是我的代码:
final Handler handler = new Handler();
Runnable run = new Runnable() {
@Override
public void run() {
if (mMap.getCameraPosition().zoom > zoomLevel) {
for (int j = 0; j < players.size(); j++) {
Marker removeMarker = players.get(j).marker;
removeMarker.setVisible(false);
}
}else {
for (int j = 0; j < players.size(); j++) {
Marker removeMarker = players.get(j).marker;
removeMarker.setVisible(true);
}
}
handler.postDelayed(run, 1000);
}
};
解决方案
这handler.postDelayed(run, 1000);
需要在可运行主体之外
final Handler handler = new Handler();
Runnable run = new Runnable() {
@Override
public void run() {
if (mMap.getCameraPosition().zoom > zoomLevel) {
for (int j = 0; j < players.size(); j++) {
Marker removeMarker = players.get(j).marker;
removeMarker.setVisible(false);
}
}else {
for (int j = 0; j < players.size(); j++) {
Marker removeMarker = players.get(j).marker;
removeMarker.setVisible(true);
}
}
}
};
handler.postDelayed(run, 1000);
推荐阅读
- powershell - 如何在我的 Web 应用程序中生成访问令牌以与 Exchange Online Powershell 模块一起使用?
- python - 如何以及在哪里获取 json 和 pem 文件以远程连接到内核?
- python - 检查Python DataFrame中的任何值是否为0
- android - 保存和多次更新firebase
- javascript - 从 reducer 中的 store 中读取 state
- c# - AWS lambda 无法访问共享文件夹?
- php - Firebase 索引.php
- amazon-web-services - AWS CodePipeline 错误“当前正在进行对此更改集的操作。请稍后再试此操作”
- firefox - 如何在 Firefox 中截取屏幕质量的屏幕截图?
- php - 按钮没有被放置到 PHP 回显表中