gpt4 book ai didi

javascript - 未捕获的类型错误 : Cannot read property 'zIndex' of undefined in Ionic (AngularJS)

转载 作者:行者123 更新时间:2023-11-27 23:05:47 25 4
gpt4 key购买 nike

感谢您观看这个问题。

我正在为我居住的城市制作一个 ionic 应用程序。它使用谷歌地图来显示一些与城市相关的信息。此外,我想将自定义控件添加到 map 中,以便显示不同类型的标记,这些标记是公交车站或医院等服务。问题是我无法解决这个错误:“Uncaught TypeError:无法读取未定义的属性‘zIndex’”,并且我已经尝试了这个问题的大多数其他答案。

我正在尝试在我的应用程序的 Controller 中添加元素(我认为 Legend 是它的名称),如下所示:

var controlesDiv = document.createElement('DIV');
var controles = new CrearLeyenda(controlesDiv, map);
controlesDiv.index = 4;
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(controles);

然后,在 Controller 之外,我有 CrearLeyenda 函数:

function CrearLeyenda(controlesDiv, map) {
controlesDiv.style.padding = '5px 0px';
var controlesUI = document.createElement('DIV');
controlesUI.style.backgroundColor = 'white';
controlesUI.style.borderStyle = 'solid';
controlesUI.style.borderWidth = '1px';
controlesUI.style.borderColor = 'gray';
controlesUI.style.boxShadow = 'rgba(0, 0, 0, 0.398438) 0px 2px 4px';
controlesUI.style.cursor = 'pointer';
controlesUI.style.textAlign = 'center';
controlesUI.title = 'Click to see Churches';
controlesDiv.appendChild(controlesUI);
var controlesText = document.createElement('DIV');
controlesText.style.fontFamily = 'Arial,sans-serif';
controlesText.style.fontSize = '13px';
controlesText.style.padding = '1px 6px';
controlesText.style.fontWeight = 'bold';
controlesText.innerHTML = 'Controles';
controlesUI.appendChild(controlesText);

google.maps.event.addDomListener(controlesUI, 'click', function () {
alert("clicked");

if (controlesText.style.fontWeight == 'bold') {
controlesText.style.fontWeight = 'normal';
} else {
controlesText.style.fontWeight = 'bold';
}
});

google.maps.event.addDomListener(controlesUI, 'mouseover', function () {
controlesUI.style.backgroundColor = '#e8e8e8';
});

google.maps.event.addDomListener(controlesUI, 'mouseout', function () {
controlesUI.style.backgroundColor = 'white';
});}

我希望你能帮助我,我很抱歉我的英语不好,如果你需要更多指示,我会尽力解释。

提前致谢

最佳答案

您调用它就好像它是返回对象的类构造函数:

var controles = new CrearLeyenda(controlesDiv, map);

然而,CrearLeyenda 函数似乎并没有做类似的事情。所以此时 controles 变量为 NULL。尝试在此之后添加 console.log(controles); 并查看。

我认为您需要将其添加到 CrearLeyenda 函数的末尾:

return controlesUI;

并将其调用方式更改为:

var controles = CrearLeyenda(controlesDiv, map);

关于javascript - 未捕获的类型错误 : Cannot read property 'zIndex' of undefined in Ionic (AngularJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36596879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com