有许多网站包含可点击地图,可突出显示mouseover
上的区域,并允许用户将选择范围从世界地图视图缩小到大陆级别。这是一个有趣的例子:davidlynch.org。
这些可点击地图中的许多都是使用HTML图像地图实现的,而另一个选项是使用例如Google's GeoChart API。关于HTML图像映射选项,我想知道人们在哪里获得所有原始数据,所有国家和地区边界多边形。有免费资源吗?关于Google GeoChart选项,我想知道这是否可扩展,或者API调用的数量是否有限?
有没有人对免费图库的可用性有一些建议,允许直接实现可自定义区域的可点击地图?
答案 0 :(得分:7)
这不是真正的问题,可以标记'地理编码'。
由于我这些天一直在玩Raphael.js,所以在阅读你的问题标题时我想到了这个lib。我还记得维基百科的公地主持了世界的SVG地图。 Raphael可以帮助您操作svg文件,因此这可能是一个很好的方法。 无论如何,在搜索了标准'raphael'之后,我发现了一个符合您要求的对话。所以它是:http://groups.google.com/group/raphaeljs/browse_thread/thread/46b5402c677ce274/7ff6a6a8d8f5f9fa?pli=1
有一些实用程序脚本,以及上面提到的svg world文件的链接和一个实例(以及Stack Exchange主题的链接)。
当然有工作要做,直接打电话给谷歌api可能更容易。
根据我对gmaps API的体验,您必须每秒将许多请求列入谷歌黑名单。就像你推出一个重批地理编码工具一样。所以它取决于您的项目,但即使您的页面很受欢迎,我也会认为使用它非常安全。
[编辑]:现在有live demo on RaphaelJs website。
[再次编辑]:现在基于Python和Raphael的完整制作工作流程存在:Kartograph。它真的很年轻但看起来很有前途。
答案 1 :(得分:4)
检查一下。似乎满足您的要求并提供更多: 带有可点击区域的Google地图 http://codecanyon.net/item/google-maps-with-clickable-countries/3186942
答案 2 :(得分:0)
我是第二个raphael.js,它是一个很好的库,用各种用户交互来绘制形状。例如,您可以查看this project,它是俄罗斯的矢量地图,在Raphael.js之上实现。它允许以编程方式突出显示区域。
答案 3 :(得分:0)
毫无疑问,我可以推荐两个库:1. d3JS和2. Raphael JS
后者是我用来编写
的东西clickable map generator web application - Make a Clickable Map
d3JS的学习曲线更陡峭,但是您可以用它比Raphael做更多的事情。另一方面,拉斐尔(Raphael)更容易拿起,并且很有趣。