javascript - 在 OpenLayers map 中查看矢量叠加

标签 javascript openlayers

我是使用 HTML 创建 map 的新手,我一直在尝试将两个矢量图层(地点、点)添加到 basemap (道路)中,但是我无法在 map 上看到矢量图层。这些图层应显示为 basemap 的矢量叠加层。这些层在层切换器中显示时就在那里,但没有显示在屏幕上。我认为问题在于矢量图层的调用方式。显示矢量图层的解决方案是什么?谢谢

var map = new OpenLayers.Map("map-id");

    var roads= new OpenLayers.Layer.WMS(
    "roads",
    "http://localhost:8080/geoserver/wms",
    {layers: "roads"});

var points= new OpenLayers.Layer.Vector(
    "points",
    "http://localhost:8080/geoserver/wms",
    {layers: "points"});

var places= new OpenLayers.Layer.Vector(
    "places",
    "http://localhost:8080/geoserver/wms",
    {layers: "places"});

map.addLayer(roads);
map.addLayer(points);
map.addLayer(places);
map.addControl(new OpenLayers.Control.LayerSwitcher());

最佳答案

您正在尝试通过 WMS 协议(protocol)显示矢量数据。为此,您应该使用 OpenLayers.Layer.WMS 实例而不是 OpenLayers.Layer.Vector。要将 WMS 图层显示为叠加层,请使用 isBaseLayer 选项:

map = new OpenLayers.Map('map'); 
var places = new OpenLayers.Layer.WMS('places',
  "http://localhost:8080/geoserver/wms",
  {layers: "places", transparent: true},
  {isBaseLayer: false, opacity: 1, singleTile: true, visibility: true}
);
map.addLayers([places]);

关于javascript - 在 OpenLayers map 中查看矢量叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10162694/

相关文章:

javascript - 无法在 openstreetmap 中用颜色填充国家/地区

javascript - 确定给定点js的所有元素

html - 在javascript中更改下载名称

javascript - 未询问 Facebook Javascript SDK 扩展权限/未显示注销按钮

javascript - 如何使用 OpenLayers 在 map 顶部创建可单击的网格图层

javascript - 使用openlayers在给定坐标的 map 上绘制点?

css - 流体开放层 - 响应式设计

c# - 需要帮助在 asp.net 中为菜单项创建下拉菜单

javascript - 阻止嵌入式 Javascript 歌曲在 Chrome 上自动播放?

javascript - ExtJS:如何动态地将子节点添加到树面板