类别名称空间问题

时间:2011-09-16 18:13:12

标签: javascript google-maps-api-3

我使用以下代码摘录在我的地图上显示标记,自定义标记颜色由它所属的类别决定。

var customIcons = {
            Artefact: {
            icon: 'http://labs.google.com/ridefinder/images/mm_20_red.png',
            shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
            },
            Coin: {
            icon: 'http://labs.google.com/ridefinder/images/mm_20_green.png',
            shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
            },
            Jewellery: {
            icon: 'http://labs.google.com/ridefinder/images/mm_20_yellow.png',
            shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
            },
            Prescious Metal: {
            icon: 'http://labs.google.com/ridefinder/images/mm_20_blue.png',
            shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
            }
            };

我遇到的问题是最后一类,'贵金属'。对于我的生活,当单词之间有空格时,我无法使脚本工作。我已经尝试添加'',我认为这可能是一项工作,但它仍然无法正常工作。

1 个答案:

答案 0 :(得分:0)

JavaScript对象文字中的键必须遵循变量命名约定,或者是字符串。在它周围加上引号可以解决问题。

var customIcons = {
        "Artefact": {
        icon: 'http://labs.google.com/ridefinder/images/mm_20_red.png',
        shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
        },
        "Coin": {
        icon: 'http://labs.google.com/ridefinder/images/mm_20_green.png',
        shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
        },
        "Jewellery": {
        icon: 'http://labs.google.com/ridefinder/images/mm_20_yellow.png',
        shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
        },
        "Prescious Metal": {
        icon: 'http://labs.google.com/ridefinder/images/mm_20_blue.png',
        shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
        }
        };