I'm looking for large-scale world maps that I can shade by country. Google Charts has an API for this but it only allows you to generate a small map (440x220 px). Does anyone know of a way to generate such maps with an open-source library?
8 回答
我在一个提供类似于问题中描述的功能的库上工作。它被称为 jVectorMap。这是一个 jQuery 插件,它允许在现代浏览器中使用 SVG 和 IE 6-8 中的 VML 将世界地图组件放置在网页上。您可以通过多种方式对其进行自定义,改变地图的外观和行为。不幸的是,文档还没有准备好。您可以在这里查看示例和代码http://jvectormap.owl-hollow.net/。
与此同时,谷歌发布了Geochart Maps,这是对 geomap 的更新。它创建 SVG 地图,您可以将它们制作成您想要的任何大小,无论是否具有纵横比。我开发了一个插件来使用这个 API 为 wordpress 构建地图。查看http://cmoreira.net/interactive-world-maps-demo/
这些天来,我建议使用Polymaps或d3。前者是一个成熟的“slippy maps”库,可与 SVG 一起使用。后者是一个与 SVG 一起工作的可视化库,并且具有越来越多的地理特征。如果您不需要平移、缩放和其他“滑动”功能,请尝试 d3,例如以下示例: http: //mbostock.github.com/d3/ex/choropleth.html
来自 Google Visualization API的Geomap可以根据需要调整大小;但是,它使用 Flash 而不是 SVG。
作为它的作者,我推荐http://www.makeclickablemap.com用于基于 SVG 的映射。它有越来越多的国家和一个易于使用的漂亮界面来编辑您的地图,您可以使用 iframe 将其嵌入到任何地方。
Wikipedia 有很多SVG Maps,但它不是一个库。
检查 amMap:http ://www.ammap.com - 我们拥有世界上大多数国家的 SVG 地图以及用于使这些地图具有交互性、可缩放性等的 API。
免责声明 - 我是 amMap 的作者。