* 通过 WKT 参数扩展支持多坐标系。 * * @param {string} wkt 字符串。 * @param {string} crsCode EPSG 信息,如: "EPSG:4490"。 * * @returns {boolean} 坐标系是否添加成功。
(wkt, crsCode)
| 4526 | * @returns {boolean} 坐标系是否添加成功。 |
| 4527 | */ |
| 4528 | addProjctionFromWKT(wkt, crsCode) { |
| 4529 | if (typeof wkt !== 'string') { |
| 4530 | //参数类型错误 |
| 4531 | return false; |
| 4532 | } else { |
| 4533 | if (wkt === 'EPSG:4326' || wkt === 'EPSG:3857') { |
| 4534 | return true; |
| 4535 | } else { |
| 4536 | let epsgCode = crsCode || this.getEpsgInfoFromWKT(wkt); |
| 4537 | if (epsgCode) { |
| 4538 | proj4.defs(epsgCode, wkt); |
| 4539 | // 重新注册proj4到ol.proj,不然不会生效 |
| 4540 | if (olProj4 && olProj4.register) { |
| 4541 | olProj4.register(proj4); |
| 4542 | } else if (window.ol.proj && window.ol.proj.setProj4) { |
| 4543 | window.ol.proj.setProj4(proj4); |
| 4544 | } |
| 4545 | return true; |
| 4546 | } else { |
| 4547 | // 参数类型非wkt标准 |
| 4548 | return false; |
| 4549 | } |
| 4550 | } |
| 4551 | } |
| 4552 | } |
| 4553 | |
| 4554 | /** |
| 4555 | * 通过 WKT 参数获取坐标信息。 |
no test coverage detected