互动世界地图 - 建议?

时间:2008-09-16 16:47:07

标签: flash maps imagemap

我希望创建一个“您访问过的国家/地区”地图 - 就像您在Facebook上看到的那些,TravelAdvisor和诸如此类的东西。

我尝试过不同的闪光灯套件,但它们并不像我希望的那样先进。我遇到的所有不同套件的主要问题是当你点击它时改变一个国家的背景颜色,并在你“取消选择”它时保持它的颜色。这显然是必要的,以给用户一些视觉反馈。

到目前为止,我设法做到这一点的唯一方法是使用巨大的XML字符串通过javascript初始化flash,使用与Javascript交互的点击回调,并使用javascript使用正则表达式更改XML字符串,然后发送将XML备份到flash。很明显,这种方法是最优的FAR,也非常非常慢。

我已经尝试过FusionMaps,amMap,AnyMaps和diyMap,到目前为止,我还没有找到任何方法可以使用它们。如果有人做过类似的任何事情,我真的要知道: - )

有没有人对我应该注意什么有任何指示或建议?我开始认为在维基百科上使用免费的SVG大陆地图,将它们转换为PNG并创建所有国家的图像地图会更简单(虽然不那么灵活) - 然后使用Canvas和VML绘制一个在这些国家之上的元素 - 但与闪存解决方案相比,这似乎是一个巨大的痛苦和非常容易出错。

感谢阅读,我希望有人能给我一些指示: - )

  • 先生。末日

6 个答案:

答案 0 :(得分:2)

  

看起来像是一个巨大的痛苦而且非常容易出错

我克服了痛苦并修复了错误(好吧,大部分都是这样)。结果如下:jVectorMap

答案 1 :(得分:1)

尝试从Google地图开始。如果您想要一个使用Google地图并在其上放置彩色区域的网站的好例子,请访问Wikimapia.org

答案 2 :(得分:0)

如果它适用于您正在构建的内容,那么Virtual Earth目前在6.1中,并且在API中有很多优秀且易于使用的javascript调用来加载多边形。如果您有定义国家/地区的点数据(应该可以免费使用),您可以轻松地使用VELatLong对象数组定义VEShape多边形,并在其上抛出一个事件处理程序,以便在单击时为它们着色。 VE的优点在于javascript API非常灵活且易于使用,并且提供了许多不错的映射功能。

答案 3 :(得分:0)

如果您有兴趣,可以在此处找到一个ASP.NET Virtual Earth Mapping Server Control:

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

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

答案 4 :(得分:0)

我一直在找同样的东西,然后我找到了谷歌的虚拟化强度图。 您可以找到更多信息here

答案 5 :(得分:0)

试试这可能是你所期望的 http://www.ammap.com/