2012-08-22 50 views
0

我创建了一个while循环,可在Google地图上生成多个预定义的圆。每个圆都是基于其他预定义信息的不同圆。我的问题是,当我在城市地图中创建一个键/值对时,在创建实际的圆时它不会通过。只要编写colors,Google调试器将返回Uncaught SyntaxError: Unexpected token ILLEGAL。这是代码。在城市地图中传递颜色

这部分是在while循环中。

citymap["<?php echo ${'location_' . $e};?>"] = { 
    center: new google.maps.LatLng(<?php echo ${'coordinates_' . $e};?>), 
    population: <?php echo ${'radius_' . $e}; ?>, 
    colors : <?php echo $color; ?>  
    }; 

这里是构建圆圈的代码。

for (var city in citymap) { 
     // Construct the circle for each value in a location. 
     var populationOptions = 
     { 
     strokeColor: citymap[city].colors, 
     strokeOpacity: 0.8, 
     strokeWeight: 2, 
     fillColor: citymap[city].colors, 
     fillOpacity: 0.35, 
     map: map, 
     center: citymap[city].center, 
     radius: citymap[city].population 
     }; 
     cityCircle = new google.maps.Circle(populationOptions); 
    } 

回答

1

该错误可能是由PHP部分引起的。查看页面源代码并查看由PHP生成的js代码,并确保它是有效的JS数组,并且没有任何语法错误等。

+0

php cide是正确的。在将颜色代码添加到'citymap'和变量'populationOptions'之前,它工作正常。至于页面源代码,php变量'colors'被正确地输出到javascript数组中。 – jason328

+1

你可以发布一部分输出的代码吗?你确定颜色的价值是这样引用的:'#ffffff'? – keune

+0

对不起,这是问题所在。没想到你不得不两次引用颜色标识。 – jason328