从MVC为OpenLayers加载WKT多边形以呈现

时间:2016-06-24 17:10:18

标签: asp.net-mvc openlayers-3

OL3和MVC5。我有一个mvc控制器从oracle返回wkt多边形字符串。我想在开放的图层中渲染它们,但我无法找到格式应该是什么样的颜色让它开心。

   var tAVectorSource = new ol.source.Vector({
    format: new ol.format.WKT(),
    url: function (extent) {
        return '/MyController/Map/MyWKTPolygons';
    },
    strategy: ol.loadingstrategy.bbox
});

var tAVectors = new ol.layer.Vector({
    source: tAreaVectorSource,
    style: tAStyle
});

我的控制器正在返回:

{"TAId":4,"PId":21,"TType":1,"TShape":"POLYGON ((-1.2695884640625E7 4445506.375, -1.21430920625E7 4451637.25, -1.2152876E7 5012485.703125, -1.2373014640625E7 5006005.84375, -1.2373014640625E7 5162735.015625, -1.2695884640625E7 5156153.28125, -1.2695884640625E7 4445506.375))","TAcres":0}

现在我得到了

  

意外的角色:{

之前我正在测试返回几个功能,而Unexpected字符是[确定列表的大括号。 OL会喜欢什么,我在哪里可以找到规范或示例来使其满意?

1 个答案:

答案 0 :(得分:1)

您的控制器正在返回包含WKT字符串作为属性的JSON。使用ol.format.WKT时,您的控制器应仅返回WKT字符串(POLYGON (...))。

如果您还想获取功能的属性,则可能需要使用GeoJSON。