如果marker.setMap == null做某事

时间:2013-10-30 07:16:01

标签: google-maps-api-3 null conditional-statements marker

我想通过Google地图实现某些功能,我需要知道setMap是否已设置或为null。我怎样才能实现这样的东西:

if (marker.setMap == null)
{
    marker.setMap(map);
}

2 个答案:

答案 0 :(得分:6)

你必须调用getMap函数,而不是检查setMap函数是否为null。这将切换标记:

if (marker.getMap() == null) marker.setMap(map);
else marker.setMap(null);

甚至

if (!marker.getMap()) marker.setMap(map);
else marker.setMap(null);

答案 1 :(得分:3)

您不能这样做,因为marker.setMap 删除对地图的引用。
相反,使用marker.setVisible(false)隐藏标记,然后只需测试标记的可见性。 setVisible只是隐藏了标记,但对地图的引用不会丢失。