点击时切换标记可见性

时间:2015-08-10 13:12:09

标签: javascript angularjs google-maps angular-google-maps

当我点击打开热图时,我试图关闭我的地图标记。

我的标记对象如下所示:

var markers = {
  id: id,
  displayId: displayId,
  latitude: job.geolocation.location.latitude,
  longitude: job.geolocation.location.longitude,
  icon: icon,
  options: {
    title: 'ID: ' + displayId,
    visible: showMarkers
  }

我默认showMarkers为true:

var showMarkers = true;

然后在我的热图的点击处理程序中,我将showMarkers更改为false:

vm.turnOnHeat = function() {
  vm.showHeat = true;
  showMarkers = false;
};

然而,标记永远不会消失。我很困惑为什么markers.options.visible永远不会接受这种变化。

1 个答案:

答案 0 :(得分:0)

因为您创建的对象只是一个实例对象。此对象仅在初始化时初始化,并且此对象存储在内存中。每当您访问对象时,都将使用旧的对象实例。

使对象像:

var makers = function(){
// code here
}

这种方法可以帮到你。