2014-03-12 34 views
1

我有一個郡縣的數據庫,裏面有美國的所有縣和POLY座標。總共有3214個縣。每個縣都有幾千個POLY座標。我可以畫出一些縣。但是,當我嘗試繪製所有的縣時,瀏覽器正在睏倦並繼續加載和加載。任何人都可以幫助我通過任何算法解決我的問題嗎?需要同時在多邊形上繪製美國各州的地圖

任何幫助將不勝感激。

在此先感謝。

回答

0

我會建議更換或者使用WEAVE

http://oicweave.org/

或谷歌的地圖工具:

https://developers.google.com/maps/documentation/javascript/shapes

Oterwise,你可以使用PHP與透明度和覆蓋PNG圖像繪製縣他們在你的地圖上根據需要。使用GD Library創建所有縣(甚至縣組)的圖像並保存以供將來使用。

http://blog.themeforest.net/tutorials/fun-with-the-php-gd-library-part-1/

+0

感謝您的回覆Hoytman。我瞭解你的建議。但是怎樣才能爲每個縣製造形象,我怎樣才能確定國家放置形象的確切位置?我必須先從MySQL獲取細節。希望你瞭解我的要求。並感謝您的快速回復。 – user3410706

0

JavaScript是單線程的。如果你給它一個很大的任務要做,它會在界面上執行freeze,直到它完成(或者它會因錯誤而超時)。

你可以做的唯一的事情就是讓它以更小的塊來繪製東西。

粗糙的p代碼。

var counties = [ 
    // Your data here 
]; 

var countyIdx = 0; 

function drawNext() { 
    var county = counties[countyIdx]; 
    // Draw county 

    // Advance to the next county 
    countyIdx++; 
    if (county < counties.length) { 
    window.setTimeout(drawNext, 50); 
    } 
} 

// Kick it off 
drawNext(); 
+0

謝謝你的快速回復傑里米。但我需要在地圖上使用多邊形。讓我稍微詳細地解釋我的要求。我們必須在地圖上繪製所有縣。第一次,所有的縣都會以普通的顏色出現。一旦它從管理員標記出來,該縣就會以橙色着色。我希望這個要求對你有意義。 – user3410706

+0

要求的確如此。然而,當我說「*昏昏欲睡並繼續加載和加載*」時,我猜測你的意思是瀏覽器停滯,操作超時。如果是這樣的話,這個通用的解決方案仍然有效,你只需要弄清楚你的代碼中哪些部分停滯了。這是您需要弄清楚的事情,無論是使用Profiler還是其他調試工具。 –

相關問題