2011-12-06 74 views
-3

我已经在网上看到过这个问题,但还没有看到解决它的答案。在使用PHP的地图上突出显示国家/地区

这就是我需要做的 - 基于从我的数据库,我需要强调国家地图非洲的数据。这是一个基于网络的游戏,我不想使用谷歌地图等。

这不是一个新问题,我假设有一个PHP库在那里,或者至少包含必要信息的文件(根据我的理解我需要很多坐标)。地图不需要是交互式的(没有on-click或on-hover事件),如果可能的话,我想保留这个服务器端。它只需要显示国家并根据数据库中的数据对它们进行着色。

但是,如果你没有一个PHP的解决方案,我将是使用JavaScript任何替代方案感激(注意,数据仍然需要从数据库中提取)。

最后一个问题 - 这将是多么困难简单地创建每个国家的PNG图片与地图透明的休息和他们位置,从而形成一个地图?在那种情况下,是否有PHP函数可以让我突出显示各个国家?

+1

太棒了!你有规范,现在你有什么尝试? –

+0

我没有尝试过的是绘制地图点自己,因为我不想花下个月做它。我试过在互联网上搜索工作解决方案。我没有找到的是一个答案,但是我发现的是一百个人,他们对各种线索的唯一贡献是一个令人恼怒的半滑稽的讽刺话。非常感谢你的不是。 101. – robert

+0

鉴于您正在使用地图,您是否考虑过使用Flash + ActionScript? Actionscript可以通过JavaScript与PHP交谈。而且PHP也可以与Actionscript进行交谈。这样,您可以在给定PHP中的用户操作时突出显示Flash中的地图元素,并根据用户与地图的交互情况在PHP中触发操作。 –

回答

2

你不能在PHP中轻松做到这一点,但是使用jQuery插件imageMapster很简单。这是一个适合你的地图演示。

http://www.outsharked.com/imagemapster/examples/usa.html

你可以将其设置为图像映射并将其设置为突出负载,鼠标悬停地图区域,请等亮点既可以基于CSS的或替代图像。

这是非常有据可查的,并为我多次救命。

这里是你如何设置区域的通态一个例子:

<script> 
    $(document).ready(function() { 
     $('#IMAGE_NAME').mapster('set',true,'AREA_ID'); 
    }); 
</script> 

编辑:其实,这是我推荐的这个第二次的今天。我不以任何方式附属于它,我只是觉得它很酷。

+0

这看起来不错,正是我需要的。非常感谢。 – robert

+0

不用担心。如果这是您接受的答案,请不要忘记标记为答案。它会帮助你在将来得到更多的答案,并帮助我的网站重新出现。助教。 – SpaceBeers

+0

已标记,谢谢。还有一件事 - 如果我决定使用点击事件,你认为我可以使用Ajax发送一些数据到PHP脚本吗?基本上,我只需要保存与被点击的区域相关联的名称/ ID。 – robert

0

对于初学者来说,你必须追踪每个国家有某种影像地图或SVG工具和映射所有点。这应该需要一段时间 - 当你完成这些时,你可以使用HTML的画布标记来将这些点复合成图像上的多边形。

+0

您可以很快在Fireworks中完成,然后将其导出并从它提供的HTML中获取坐标。 – SpaceBeers

+0

谢谢。我发现一个SVG工具,看起来像我可以使用它是mapper.js(http://www.netzgesta.de/mapper/)。有关于此的任何信息? – robert

2

VectorWorkz GeoChart是一种jQuery插件的,它允许您更改基于数据库数据的地图区域的颜色,它也可以让你的数据库中的数据绑定到的区域,从而使地图的区域颜色会自动改变当有界数据值改变时。

相关问题