小编Tim*_*m T的帖子

如何使用openlayers 3将图层上的所有要素序列化为json

我想允许用户使用openlayers 3在地图上绘制多边形,然后当用户按下"保存"时,我想将多边形的json放入隐藏字段,以便可以将其发送回服务器并保存在数据库中.

我有用于绘制多边形的代码(下图),然后我编写了一个简单的测试函数,当按下按钮时会触发该函数.getFeatures()调用失败.在firebug中,控制台中显示的消息是"TypeError:vectorsource.getFeatures不是函数".这是点击功能:

function map1_generateJSON()
{
    var geojson  = new ol.parser.GeoJSON;
    var features = vectorsource.getFeatures();
    var json     = geojson.write(features);
    alert(json);
}
Run Code Online (Sandbox Code Playgroud)

我使用的openlayers基础是

<script type="text/javascript" src="http://ol3js.org/en/master/build/ol.js"></script>
Run Code Online (Sandbox Code Playgroud)

这是显示地图的代码,允许用户绘制多边形(它主要是从Open Layers 3绘制特征示例中的标准openlayers示例之一复制而来).

var vectorsource    = new ol.source.Vector();
var vector = new ol.layer.Vector({
  source: vectorsource,
  style: new ol.style.Style({
    rules: [
      new ol.style.Rule({
        filter: 'renderIntent(\"selected\")',
        symbolizers: [
          new ol.style.Shape({
            fill: new ol.style.Fill({
              color: '#0099ff',
              opacity: 1
            }),
            stroke: new ol.style.Stroke({
              color: 'white',
              opacity: 0.75
            }),
            size: 14
          }),
          new ol.style.Fill({
            color: '#ffffff',
            opacity: 0.5 …
Run Code Online (Sandbox Code Playgroud)

javascript serialization openlayers-3

5
推荐指数
1
解决办法
5444
查看次数

标签 统计

javascript ×1

openlayers-3 ×1

serialization ×1