将自定义div标签插入openlayers

时间:2016-12-13 10:29:27

标签: html class openlayers layer

我目前正在使用 Openlayers2 开发地图。 该地图必须显示几个信息

我已经使用

管理了整合图像和画布
  • OpenLayers.Layer.Vector - >对于基本图像和矢量
  • OpenLayers.StyleMap和OpenLayers.Style - >用于画布和文字

我现在需要插入几个框,整合文字。

这些方框必须使自己适应文本,每个文本都有不同的长度。

我现在想插入自定义HTML标记,比如div ,而不是画布(难以适应并且很难处理)

信息是从json集成的:

  

Json的例子



{
   
        "type": "FeatureCollection",
        "features": [{
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    589200.0,
                   2402900.0
               ]
           },
            "properties": {
                "activation": "true",
                "info": "one for example short text"
    
            }
      }, {
            "type": "Feature",
            "geometry": {
               "type": "Point",
               "coordinates": [
                   603700.0,
                 2408300.0
              ]
           },
          "properties": {
             "activation": "true",
              "info": My other very long text \n with lines \r different messages and so on\n and it has to fit in.."
    
          }
       }]
  }




这是一张遗留地图,我们被Openlayer 2所困扰,因此解决方案不适用于版本3.

我正在网上搜索一个适合的解决方案,但没有成功,但我正在浪费宝贵的时间。

信息以这种方式加载:



new OpenLayers.Layer.Vector("Vector", {
            layername: "myText",
            resolutions: [100, 50, 25, 10],
            styleMap: textStyleMap,
            isBaseLayer: false,
            visibility: false,
            strategies: [new OpenLayers.Strategy.Fixed({
                preload: true
            })],
            protocol: new OpenLayers.Protocol.HTTP({
                url: "myText.json",
                format: new OpenLayers.Format.GeoJSON()
            })
        })




我可以使用哪种styleMap? 有没有人解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

我终于使用可拖动的弹出窗口解决了这个问题。

这是您可以在此处找到的更新:

http://aamirafridi.com/openlayers/openlayers-draggable-popups