我已经在网上看到了这个问题,但还没有找到解决问题的答案。
这就是我需要做的 - 根据我数据库中的数据,我需要在非洲地图上突出显示国家/地区。这是一个基于网络的游戏,我不想使用谷歌地图等。
这不是一个新问题,我假设有一个PHP库在那里做到了,或者至少是一个包含必要信息的文件(根据我的理解,我需要很多坐标)。地图不需要是交互式的(没有点击或悬停事件),如果可能的话我想保留这个服务器端。它只需要显示国家/地区并根据数据库中的数据为它们着色。
但是,如果您没有PHP解决方案,我将不胜感激使用Javascript的任何其他选项(请注意,数据仍然必须从数据库中提取)。
最后一个问题 - 简单地创建每个国家/地区的.PNG图像并将地图的其余部分透明并定位以形成地图有多难?在这种情况下,是否有一个PHP功能可以让我突出显示各个国家?
答案 0 :(得分:2)
你不能在PHP中轻松做到这一点但是使用jQuery插件imageMapster它真的很简单。这是一个听起来适合你的地图演示。
http://www.outsharked.com/imagemapster/examples/usa.html
您可以将其设置为图像地图,并将其设置为在加载,鼠标悬停,点击等时突出显示地图区域。突出显示可以是基于CSS或替代图像。
它有很好的记录,并且对我来说已经多次为生命保护。
以下是如何将区域设置为其onstate的示例:
<script>
$(document).ready(function() {
$('#IMAGE_NAME').mapster('set',true,'AREA_ID');
});
</script>
编辑:这实际上是今天我第二次推荐这个。我不以任何方式与它联系,我只是认为这很酷。
答案 1 :(得分:2)
VectorWorkz GeoChart是一种jQuery插件,它允许您根据数据库中的数据更改地图区域的颜色,它还允许您将数据库数据绑定到区域,以便地图区域的颜色当有界数据值发生变化时,它将自动更改。
答案 2 :(得分:0)
对于初学者,您必须使用某种图像映射或SVG工具跟踪每个国家/地区并映射所有点。这应该需要一段时间 - 当你完成它之后,你可以使用HTML的canvas标签将点合成为图像上的多边形。