交互式世界地图 - 有什么建议吗?

3

我想创建一个“你去过的国家”地图 - 就像你可能在Facebook、TravelAdvisor等网站上看到的那样。

我尝试了不同的Flash工具包,但它们并不像我想要的那么高级。我遇到的所有不同工具包的主要问题是,在单击某个国家并在“取消选择”时使其保持更改的背景颜色。这显然是必要的,以给用户一些视觉反馈。

到目前为止,我唯一成功做到这一点的方法是通过JavaScript初始化Flash,并使用单击回调与JavaScript交互,然后使用正则表达式在JavaScript中更改XML字符串,最后将XML发送回Flash。很明显,这种方法远非最佳,而且非常缓慢。

我尝试过FusionMaps、amMap、AnyMaps和diyMap,但到目前为止,我还没有找到任何使用它们中的任何一种完成此操作的方法。如果有人在其中任何一种软件上做过类似的事情,请告诉我如何做:-)

有没有人对我应该查看什么有任何指导或建议?我开始认为,使用维基百科上的免费SVG大陆地图,将它们转换为PNG并创建所有国家的图像映射将更简单(尽管不太灵活),然后使用Canvas和VML在国家的顶部绘制元素 - 但这似乎比Flash解决方案更麻烦,也更容易出错。

谢谢你的阅读,希望有人能给我一些指导 :-)

  • Mr. Doom
6个回答

2

看起来这似乎是一项巨大的痛苦并且容易出错。

我克服了这些困难并修复了错误(好吧,大部分都修复了)。以下是结果:jVectorMap


1

试着从谷歌地图开始。如果你想要一个使用谷歌地图并在上面放置彩色区域的好例子,请访问Wikimapia.org


0

0
我在寻找同样的东西,然后我找到了谷歌的虚拟化强度地图。 你可以在这里找到更多信息。

0
如果您感兴趣的话,这里有一个ASP.NET Virtual Earth Mapping Server Control:

http://simplovation.com/page/webmapsve.aspx

这实际上是Virtual Earth的一个“包装器”,它抽象出了大部分(如果不是全部)传统上需要编写的JavaScript。它允许您完全从服务器端的.NET代码处理地图事件和操作地图事件。


0
如果Virtual Earth适用于您正在构建的内容,那么现在它已经更新到6.1版本,并且在API中有许多优秀且易于使用的JavaScript调用来加载多边形。如果您拥有定义国家的点数据(应该是免费提供的),则可以轻松地使用VELatLong对象数组定义VEShape多边形,并在其上添加事件处理程序以在单击时对其进行着色。VE的好处在于,JavaScript API非常灵活且易于使用,并公开了许多不错的映射功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接