我有一個郡縣的數據庫,裏面有美國的所有縣和POLY座標。總共有3214個縣。每個縣都有幾千個POLY座標。我可以畫出一些縣。但是,當我嘗試繪製所有的縣時,瀏覽器正在睏倦並繼續加載和加載。任何人都可以幫助我通過任何算法解決我的問題嗎?需要同時在多邊形上繪製美國各州的地圖
任何幫助將不勝感激。
在此先感謝。
我有一個郡縣的數據庫,裏面有美國的所有縣和POLY座標。總共有3214個縣。每個縣都有幾千個POLY座標。我可以畫出一些縣。但是,當我嘗試繪製所有的縣時,瀏覽器正在睏倦並繼續加載和加載。任何人都可以幫助我通過任何算法解決我的問題嗎?需要同時在多邊形上繪製美國各州的地圖
任何幫助將不勝感激。
在此先感謝。
我會建議更換或者使用WEAVE
或谷歌的地圖工具:
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/
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();
謝謝你的快速回復傑里米。但我需要在地圖上使用多邊形。讓我稍微詳細地解釋我的要求。我們必須在地圖上繪製所有縣。第一次,所有的縣都會以普通的顏色出現。一旦它從管理員標記出來,該縣就會以橙色着色。我希望這個要求對你有意義。 – user3410706
要求的確如此。然而,當我說「*昏昏欲睡並繼續加載和加載*」時,我猜測你的意思是瀏覽器停滯,操作超時。如果是這樣的話,這個通用的解決方案仍然有效,你只需要弄清楚你的代碼中哪些部分停滯了。這是您需要弄清楚的事情,無論是使用Profiler還是其他調試工具。 –
感謝您的回覆Hoytman。我瞭解你的建議。但是怎樣才能爲每個縣製造形象,我怎樣才能確定國家放置形象的確切位置?我必須先從MySQL獲取細節。希望你瞭解我的要求。並感謝您的快速回復。 – user3410706