1

我想要一个世界的矢量图层,用英文显示国家边界、州及其名称。是否存在可以控制颜色的图层?

Cloudmade 不让我完全这样做,openstreetmap 和其他一堆也不让我这样做。我想我可能需要创建一个光栅图像并覆盖它,除非我不知道在哪里可以获得可以编辑和覆盖的准确 EPS/矢量图。

选项用完了!

4

1 回答 1

3

根据您的需要,您有不同的选择:

  1. 最简单的方法是使用提供所需信息的公共 WMS 服务。您可以查看像这样的目录或像这样谷歌搜索。如果您有幸找到适合您的服务,只需将其添加为 OpenLayers 中的 WMS 层,如本示例中所述。

  2. 如果找不到公共服务,则必须自己提供地理数据。您必须找到世界各国的数据集(最常见的格式是 ESRI shapefile 和 KML)。

    • 如果你找到一个 shapefile(在这里试试),你将不得不通过 MapServerGeoserver等地图服务器来提供它。两者的设置都非常简单,但请选择最适合您的一个(MapServer 是 CGI,Geoserver 是基于 Java 的)。使用国家数据配置 WMS 服务后,您可以按照前面的示例将其添加到您的 OpenLayers 应用程序中。

    • 如果您不能或不想使用地图服务器并且您拥有世界各国的 KML 文件,您还可以从 KML 文件将矢量图层添加到 OpenLayers,如本示例中所述。请小心,因为所有几何图形都将在用户的浏览器中呈现(使用 SVG 或 VML),对于大型数据集,这可能是一个性能问题。检查此示例以查看它的实际效果。

我希望这能给你一些线索。

于 2009-12-29T15:00:35.460 回答