2013-04-22 73 views
1

我已經在Stackoverflow中發佈了此問題,並且使用了不同的標題,但沒有得到太多回復。再次發佈這個時間再做一些澄清。當在Google地圖上放大時,多邊形顏色重疊

我已經使用V3 js API實現了谷歌地圖。我在地圖內繪製了大約500個郵政編碼多邊形。郵政編碼多邊形的顏色取決於某些工作正常的條件。就像我將不同的顏色分配給一組zipcode一樣。但問題是,當我縮放地圖時,某些多邊形顏色與其他多邊形顏色重疊。

例如:我從我的數據庫拉30個郵編。我將這30個郵編分爲5個區域(說取決於最高的銷售額和最低的銷售額)。每個區域將用特定的顏色標記。因此,在這種情況下,30個多邊形將繪製5個區域,以具有5種不同的顏色。現在,當我縮放地圖時,分組中沒有變化,但其中一些多邊形(可能是3-4)顏色與其他多邊形重疊。如果3號區域在法線貼圖中具有顏色「黃色」,則當我放大地圖時,區域3的某些多邊形會被「紅色」顏色重疊。 「紅色」顏色屬於區域1郵政編碼多邊形。

這裏是我已經找到了解決方案的代碼

{% ifequal zip.rank 1 %} 
    var fillColor = '#FF0000'; 
{% endifequal %} 
{% ifequal zip.rank 2 %} 
    var fillColor = '#FF00D3'; 
{% endifequal %} 
{% ifequal zip.rank 3 %} 
    var fillColor = '#BE4BAA'; 
{% endifequal %} 
{% ifequal zip.rank 4 %} 
    var fillColor = '#BE88B5'; 
{% endifequal %} 
{% ifequal zip.rank 5 %} 
    var fillColor = '#857081'; 
{% endifequal %} 


var path = [ 
       {% for polycoord in zip.zip_info.zip_polygon %} 
        new google.maps.LatLng({{polycoord.1}}, {{polycoord.0}}), 
       {% endfor %} 
      ]; 
var polygon = new google.maps.Polygon(
    { 
     path:path, 
     clickable:true, 
     strokeColor: '#000000', 
     strokeOpacity: 0.75, 
     strokeWeight: 1, 
     fillColor: fillColor, 
     fillOpacity: 1, 
    } 

); 
polygon.setMap(map); 
+0

很難回答,沒有看到任何代碼,鏈接到地圖會有所幫助。 – 2013-04-22 07:29:54

回答

1

。基本上所有的顏色都是通過服務器端腳本隨機生成的,並傳遞給地圖模板。用於生成隨機顏色的腳本有時會給出5位數的顏色代碼,這是瀏覽器無法理解的。因此,一些多邊形區域正在採用附近的多邊形區域顏色。現在我已經修改了服務器端腳本,以便如果腳本生成5位數的顏色代碼,那麼會在顏色代碼中添加一個額外的隨機數字,最終生成一個有效的顏色代碼。

相關問題