我有两个对象,其中包含图像文件路径。
var icons = {
burglary: {
image: iconBase + "homegardenbusiness.png"
}
另一个持有类别。
function point (cat) {
this.Category= cat;
}
var point = new point("burglary");
我想根据类别访问图标的特定属性。
var icon = icons[point.Category].image;
以下调用的全部功能。
//Create and add point to google map.
function addpoints(point) {
//debugger;
var pos = { lat: point.Latitude, lng: point.Longitude };
var icon = icons[point.Category].image;
var marker = new window.google.maps.Marker({
position: pos,
map: map,
icon: icon,
clickable: true
});
我似乎无法使用上述表示法访问图标对象。 我这样做是正确的吗?我得到以下错误。
无法获得财产图标'未定义或空引用
答案 0 :(得分:0)
包含图像的属性是图像而不是图标。
更改
var icon = icons[point.Category].icon;
到
var icon = icons[point.Category].image;
快速小提琴解决了代码: https://jsfiddle.net/yeshodhan/639zL8oL/
答案 1 :(得分:0)
根据您的示例,您应该引用
var icon = icons[point.Category].image;
不
var icon = icons[point.Category].icon;
答案 2 :(得分:0)
您可以尝试此代码
var iconBase = "your image base::";
var icons = {
burglary: {
image: iconBase + "homegardenbusiness.png"
}
};
function Point (cat) {
this.Category = cat;
}
var point = new Point("burglary");
var icon = icons[point.Category].image;
alert(icon);