【发布时间】:2014-03-12 12:50:05
【问题描述】:
我有一个县数据库,其中包含美国所有县的 POLY 坐标。总数约为 3214 个县。每个县都有数千个 POLY 坐标。我可以画一些县。但是当我尝试绘制所有县时,浏览器会昏昏欲睡并继续加载和加载。任何人都可以通过任何算法帮助我解决我的问题吗?
我们将不胜感激。
提前致谢。
【问题讨论】:
标签: javascript jquery ajax google-maps
我有一个县数据库,其中包含美国所有县的 POLY 坐标。总数约为 3214 个县。每个县都有数千个 POLY 坐标。我可以画一些县。但是当我尝试绘制所有县时,浏览器会昏昏欲睡并继续加载和加载。任何人都可以通过任何算法帮助我解决我的问题吗?
我们将不胜感激。
提前致谢。
【问题讨论】:
标签: javascript jquery ajax google-maps
我建议使用 WEAVE
或 Google 的地图工具:
https://developers.google.com/maps/documentation/javascript/shapes
另外,您可以使用 PHP 将县绘制为带有透明度的 PNG 图像,并根据需要将它们覆盖在您的地图上。使用 GD 库创建所有县(甚至县组)的图像并保存以备将来使用。
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();
【讨论】: