2014-03-12 28 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还是其他调试工具。 –

相关问题