Skip to content

Commit bc0dc4a

Browse files
committed
2 parents 0cd5be0 + 2769c48 commit bc0dc4a

File tree

8 files changed

+41
-22
lines changed

8 files changed

+41
-22
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 新特性
44

5-
### 新增支持云原生矢量交换格式(FlatGeoBuf),支持直接访问云存储和SuperMap iServer服务返回的FlatGeoBuf格式文件,并支持流式传输和渲染
5+
### 新增支持云原生矢量交换格式(FlatGeobuf),支持直接访问云存储和SuperMap iServer服务返回的FlatGeobuf格式文件,并支持流式传输和渲染
66

77
- 新增 L.supermap.FGBLayer、mapboxgl.supermap.FGBLayer 、ol.source.FGB,支持全量或按需渲染FlatGeobuf格式数据
88

examples/leaflet/config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1106,9 +1106,9 @@ var exampleConfig = {
11061106
}
11071107
]
11081108
},
1109-
"FlatGeoBuf": {
1110-
name: 'FlatGeoBuf',
1111-
name_en: 'FlatGeoBuf',
1109+
"FlatGeobuf": {
1110+
name: 'FlatGeobuf',
1111+
name_en: 'FlatGeobuf',
11121112
version: '11.1.0',
11131113
content: [
11141114
{

examples/mapboxgl/config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1118,9 +1118,9 @@ var exampleConfig = {
11181118
}
11191119
]
11201120
},
1121-
FlatGeoBuf: {
1122-
name: 'FlatGeoBuf',
1123-
name_en: 'FlatGeoBuf',
1121+
FlatGeobuf: {
1122+
name: 'FlatGeobuf',
1123+
name_en: 'FlatGeobuf',
11241124
version: '11.0.1',
11251125
content: [
11261126
{

examples/maplibregl/config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -876,9 +876,9 @@ var exampleConfig = {
876876
}
877877
]
878878
},
879-
FlatGeoBuf: {
880-
name: 'FlatGeoBuf',
881-
name_en: 'FlatGeoBuf',
879+
FlatGeobuf: {
880+
name: 'FlatGeobuf',
881+
name_en: 'FlatGeobuf',
882882
content: [
883883
{
884884
name: 'FGB 全量加载(2500万点数据量)',

examples/maplibregl/examples.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
$body.append("<script type='text/javascript' src='../openlayers/config.js'><\/script>");
3838
$body.append("<script type='text/javascript' src='../leaflet/config.js'><\/script>");
3939
$body.append("<script type='text/javascript' src='../classic/config.js'><\/script>");
40-
$body.append("<script type='text/javascript' src='../maplibregl/config.js'><\/script>");
40+
$body.append("<script type='text/javascript' src='../mpaboxgl/config.js'><\/script>");
4141
$body.append("<script type='text/javascript' src='../component/config.js'><\/script>");
4242
$body.append("<script type='text/javascript' src='./config.js'><\/script>");
4343
$body.append("<script type='text/javascript' src='../js/localization.js'><\/script>");

examples/openlayers/config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1075,9 +1075,9 @@ var exampleConfig = {
10751075
fileName: "mask"
10761076
}]
10771077
},
1078-
FlatGeoBuf: {
1079-
name: 'FlatGeoBuf',
1080-
name_en: 'FlatGeoBuf',
1078+
FlatGeobuf: {
1079+
name: 'FlatGeobuf',
1080+
name_en: 'FlatGeobuf',
10811081
version: '11.1.0',
10821082
content: [
10831083
{

src/openlayers/core/StyleUtils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1205,7 +1205,7 @@ export class StyleUtils {
12051205
let outlineColorArray = this.hexToRgb(outlineColor);
12061206
// opacity使用style的透明度。保持两根线透明度一致
12071207
outlineColorArray && outlineColorArray.push(strokeOpacity);
1208-
let outlineWidth = strokeWidth === 0 ? ZERO : strokeWidth + 2; //外部宽度=内部样式宽度 + 2
1208+
let outlineWidth = outlineStyle.strokeWidth || (strokeWidth === 0 ? ZERO : strokeWidth + 2); //外部宽度=内部样式宽度 + 2
12091209
var outlineStroke = new Style({
12101210
stroke: new StrokeStyle({
12111211
width: outlineWidth, //外部宽度=内部样式宽度 + 2

src/openlayers/mapping/WebMap.js

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -287,8 +287,9 @@ export class WebMap extends Observable {
287287
let that = this,
288288
mapUrl = url;
289289
if (url.indexOf('.json') === -1) {
290+
url = this.handleJSONSuffix(url);
290291
//传递过来的url,没有包括.json,在这里加上。
291-
mapUrl = `${url}.json`
292+
mapUrl = url;
292293
}
293294
FetchRequest.get(that.getRequestUrl(mapUrl), null, {
294295
withCredentials: this.withCredentials
@@ -543,7 +544,8 @@ export class WebMap extends Observable {
543544

544545
let source;
545546
if (baseLayerType === "TILE") {
546-
FetchRequest.get(me.getRequestUrl(`${url}.json`), null, {
547+
url = this.handleJSONSuffix(url);
548+
FetchRequest.get(me.getRequestUrl(url), null, {
547549
withCredentials: this.withCredentials
548550
}).then(function (response) {
549551
return response.json();
@@ -1354,7 +1356,8 @@ export class WebMap extends Observable {
13541356
url = `${url}&token=${encodeURI(credential.token)}`;
13551357
token = credential.token;
13561358
}
1357-
return FetchRequest.get(that.getRequestUrl(`${url}.json`), null, options).then(function (response) {
1359+
url = this.handleJSONSuffix(url);
1360+
return FetchRequest.get(that.getRequestUrl(url), null, options).then(function (response) {
13581361
return response.json();
13591362
}).then(async (result) => {
13601363
if (result.succeed === false) {
@@ -1399,7 +1402,8 @@ export class WebMap extends Observable {
13991402
that.credentialValue = layerInfo.credential = layerInfo.url.split("?token=")[1];
14001403
layerInfo.url = layerInfo.url.split("?token=")[0];
14011404
}
1402-
return FetchRequest.get(that.getRequestUrl(`${layerInfo.url}.json`), null, options).then(function (response) {
1405+
let url = this.handleJSONSuffix(layerInfo.url);
1406+
return FetchRequest.get(that.getRequestUrl(url), null, options).then(function (response) {
14031407
return response.json();
14041408
}).then(async function (result) {
14051409
// layerInfo.projection = mapInfo.projection;
@@ -2104,7 +2108,8 @@ export class WebMap extends Observable {
21042108
getDataflowInfo(layerInfo, success, faild) {
21052109
let that = this;
21062110
let url = layerInfo.url, token;
2107-
let requestUrl = that.getRequestUrl(`${url}.json`, false);
2111+
url = this.handleJSONSuffix(url);
2112+
let requestUrl = that.getRequestUrl(url, false);
21082113
if (layerInfo.credential && layerInfo.credential.token) {
21092114
token = layerInfo.credential.token;
21102115
requestUrl += `?token=${token}`;
@@ -2984,11 +2989,14 @@ export class WebMap extends Observable {
29842989
async createVectorLayer(layerInfo, features) {
29852990
const {featureType, style} = layerInfo;
29862991
let newStyle;
2987-
if (featureType === 'LINE' && Util.isArray(style)) {
2992+
if (featureType === 'LINE' && Util.isArray(style) && style.length === 2) {
29882993
const [outlineStyle, strokeStyle] = style;
2989-
newStyle = strokeStyle.lineDash === 'solid' ? StyleUtils.getRoadPath(strokeStyle, outlineStyle)
2994+
newStyle = (!strokeStyle.lineDash || strokeStyle.lineDash === 'solid') ? StyleUtils.getRoadPath(strokeStyle, outlineStyle)
29902995
: StyleUtils.getPathway(strokeStyle, outlineStyle);
29912996
} else {
2997+
if (Util.isArray(style)) {
2998+
layerInfo.style = style[0];
2999+
}
29923000
newStyle = await StyleUtils.toOpenLayersStyle(layerInfo.style, layerInfo.featureType);
29933001
}
29943002
return new olLayer.Vector({
@@ -5147,4 +5155,15 @@ export class WebMap extends Observable {
51475155
}
51485156
return ['EPSG:-1000','EPSG:-1'].includes(projection);
51495157
}
5158+
5159+
handleJSONSuffix(url) {
5160+
if (url.includes('?')) {
5161+
let urlArr = url.split('?');
5162+
urlArr[0] = urlArr[0] + ".json";
5163+
url = urlArr.join('?');
5164+
} else {
5165+
url = url + ".json"
5166+
}
5167+
return url;
5168+
}
51505169
}

0 commit comments

Comments
 (0)