2012-08-22 93 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