3

我正在寻找创建“您访问过的国家/地区”的地图 - 就像您可能在 Facebook、TravelAdvisor 等上看到的那样。

我尝试过不同的闪存套件,但它们并没有我希望的那么先进。我在使用所有不同的工具包时遇到的主要问题是,当您单击某个国家/地区时会更改其背景颜色,并在您“取消选择”它时让它保持该颜色。这显然对于给用户一些视觉反馈是必要的。

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

我已经尝试过 FusionMaps、amMap、AnyMaps 和 diyMap,但到目前为止,我还没有找到任何方法来使用它们中的任何一个。如果有人对其中任何一个做过类似的事情,我真的很想知道如何:-)

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

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

  • 末日先生
4

6 回答 6

2

只是看起来很痛苦而且很容易出错

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

于 2011-05-16T08:01:42.327 回答
1

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

于 2009-01-06T07:31:28.483 回答
0

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

于 2008-09-16T16:52:10.913 回答
0

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

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

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

于 2008-09-19T01:56:42.837 回答
0

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

于 2009-01-23T04:49:35.257 回答
0

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

于 2011-04-22T13:12:02.913 回答