我最近一直在使用Bing Maps + Polymaps。
很明显,必应是唯一可用于Polymap的包含卫星图像的地图资源。这是真的?
我正在尝试完成在地图上绘制许多不同大小的多边形,并根据它们表示的内容用不同的颜色填充它们。此外,我希望每个多边形都是可单击的。
我了解到,要使用Polymaps将地理数据加载到地图上,您可以使用.features()或.url()作为geoJSON对象的一部分。
我有.features()工作,但是通过使用此功能,多边形数据必须嵌入到javascript文件本身中,如下所示:
map.add(po.geoJson()
.features([
{
"geometry": {
"coordinates": [[
[[-63.599925935268395,44.64018531837119],[-63.599789142608664,44.640219671024646],[-63.59973818063736,44.6401452402498],[-63.599877655506134,44.64010707058464],[-63.599925935268395,44.64018150140844]],
[[-63.59986692667008,44.639874235083376],[-63.59975695610047,44.63991431339196],[-63.599697947502136,44.63981507181532],[-63.5998159646988,44.639782627416906],[-63.59986424446105,44.6398723265918]]
]],
"type": "MultiPolygon"
},
"type": "Feature",
"id": "beat:05X",
"properties": {"name": "05X"}
}
]));
我希望这些数据实际上来自数据库,而不是静态地位于javascript本身内-这告诉我应该改用.url()方法-对吗?如果我使用.url()方法,则必须传递一个返回geoJSON的有效URL模板...如何使用自己的私有数据进行此操作?我熟悉PHP和mySQL-我必须改用空间数据库系统吗?
以及诸如MapServer,GeoServer等地图服务器如何适合于此?我是否无法设置PHP脚本来从$ _GET变量中读取这些模板,查询数据库并返回正确的geoJSON字符串?
我真的只需要一些启发,一些指导,就可以带领我前进,并消除我的一些疑虑。我发现自己只是在研究stackexchange,并搜索从地图服务器到地理空间数据库的所有内容-顾名思义,我可能已经读过它,但是我正在努力将各个部分放在一起。
漫长的问题,但是一旦这些问题得到澄清,我应该处于一个更好的位置。
如果有替代项,我们可以从等式中删除多图。
总而言之,我希望从数据库(PostGIS?)中获取大量具有所有不同形状,大小,颜色和透明度的多边形,并将其绘制在地图上。本质上就是这样!Polymaps具有矢量图形+考虑到上面的代码,我认为随时随地进行操作很简单...如果您有其他想法,可以将其废弃。什么是最好的解决办法?我唯一的业务要求是启用卫星图像...这意味着我们正在与Bing或Google合作。