当我点击打开热图时,我试图关闭我的地图标记。
我的标记对象如下所示:
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
永远不会接受这种变化。
答案 0 :(得分:0)
因为您创建的对象只是一个实例对象。此对象仅在初始化时初始化,并且此对象存储在内存中。每当您访问对象时,都将使用旧的对象实例。
使对象像:
var makers = function(){
// code here
}
这种方法可以帮到你。