Javascript 单击即可切换标记可见性
我试图在单击打开热图时关闭地图标记 我的标记对象如下所示:Javascript 单击即可切换标记可见性,javascript,angularjs,google-maps,angular-google-maps,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: sho
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;
然后在热图的单击处理程序中,我将showmarks
更改为false:
vm.turnOnHeat = function() {
vm.showHeat = true;
showMarkers = false;
};
然而,这些标记从未消失。我不明白为什么
markers.options.visible
从不接受此更改。因为您创建的对象只是一个实例对象。此对象仅在初始化时初始化,并且此对象存储在内存中。无论何时访问对象,都将使用旧的对象实例
使对象类似于:
var makers = function(){
// code here
}
这种方法可能会对您有所帮助。您是否尝试使用$scope变量而不是本地($scope.markers)?