Quellcode durchsuchen

update imagery

tags/3.0.1
cavencj vor 2 Jahren
Ursprung
Commit
f191c0aed2

+ 0
- 9
examples/baselayer/baidu_no_offset.html Datei anzeigen

@@ -56,15 +56,6 @@
name: '电子+路况'
})


// let layer = new DC.TilesetLayer('layer')
// viewer.addLayer(layer)
// let tileset = new DC.Tileset(
// '//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json'
// )
// tileset.setHeight(-420)
// layer.addOverlay(tileset)
// viewer.flyTo(tileset)
}
DC.ready({
baseUrl:'../libs/dc-sdk/resources/'

+ 12
- 3
examples/baselayer/google.html Datei anzeigen

@@ -19,12 +19,21 @@
function initViewer() {
viewer = new DC.Viewer('viewer-container')

let baseLayer = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.GOOGLE,{
style: 'img'
let baseLayer = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.GOOGLE,{
style:'img'
})

viewer.addBaseLayer( baseLayer, {
iconUrl: '../assets/icon/img.png',
name: '地图'
name: '影像'
})

let baseLayer_img_cva = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.GOOGLE,{
style:'img_cva'
})
viewer.addBaseLayer( baseLayer_img_cva, {
iconUrl: '../assets/icon/img.png',
name: '影像 + 标注'
})

let baselayer_elc = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.GOOGLE)

+ 63
- 0
examples/baselayer/google_no_offset.html Datei anzeigen

@@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>dc-example</title>
<script src='/libs/dc-sdk/dc.min.js'></script>
<link href='/libs/dc-sdk/dc.min.css' type='text/css' rel='stylesheet'>
<link href='../index.css' type='text/css' rel='stylesheet'>
</head>

<body>
<div id="viewer-container" class="viewer-container"></div>
<script>
let viewer = undefined
function initViewer() {
viewer = new DC.Viewer('viewer-container')

let baseLayer = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.GOOGLE,{
style:'img'
})

viewer.addBaseLayer( baseLayer, {
iconUrl: '../assets/icon/img.png',
name: '影像'
})

let baseLayer_img_cva = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.GOOGLE,{
style:'img_cva',
crs:'WGS84'
})
viewer.addBaseLayer( baseLayer_img_cva, {
iconUrl: '../assets/icon/img.png',
name: '影像 + 标注'
})

let baselayer_elc = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.GOOGLE,{
crs:'WGS84'
})
viewer.addBaseLayer(baselayer_elc, {
iconUrl: '../assets/icon/elec.png',
name: '电子'
})

let baselayer_ter = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.GOOGLE,{
style: 'ter',
crs:'WGS84'
})
viewer.addBaseLayer(baselayer_ter, {
iconUrl: '../assets/icon/ter.png',
name: '地形'
})

viewer.zoomToPosition(
new DC.Position(105.565571, 31.984708, 15362816, 0, -90)
)
}
DC.ready({
baseUrl:'../libs/dc-sdk/resources/'
}).then(initViewer)
</script>
</body>
</html>

+ 1
- 1
examples/index.html Datei anzeigen

@@ -149,7 +149,7 @@

<div class="container">
<div class="nav">
<div class="banner"> DC-SDK v3.0.0 </div>
<div class="banner"> DC-SDK v3.0.1 </div>
<div class="example-list-wrapper">
<div id="example-list" class="example-list" data-accordion-group> </div>
<div class="desc"></div>

+ 7
- 3
examples/list.js Datei anzeigen

@@ -128,7 +128,7 @@ const EXAMPLE_LIST = [
page: 'amap.html',
},
{
name: '高德地图(偏移纠正)',
name: '高德地图(偏移纠正)',
page: 'amap_no_offset.html',
},
{
@@ -140,7 +140,7 @@ const EXAMPLE_LIST = [
page: 'baidu.html',
},
{
name: '百度地图(偏移纠正)',
name: '百度地图(偏移纠正)',
page: 'baidu_no_offset.html',
},
{
@@ -148,9 +148,13 @@ const EXAMPLE_LIST = [
page: 'geovis.html',
},
{
name: '谷歌地图(已被墙)',
name: '谷歌地图',
page: 'google.html',
},
{
name: '谷歌地图(偏移纠正)',
page: 'google_no_offset.html',
},
{
name: '天地图',
page: 'tdt.html',

src/modules/imagery/projection/BaiduMercatorProjection.js → src/modules/imagery/projection/BD09Projection.js Datei anzeigen

@@ -70,7 +70,7 @@ const LL2MC = [
],
]

class BaiduMercatorProjection {
class BD09Projection {
constructor() {
this.isWgs84 = false
}
@@ -410,4 +410,4 @@ class BaiduMercatorProjection {
}
}

export default BaiduMercatorProjection
export default BD09Projection

+ 2
- 2
src/modules/imagery/provider/AmapImageryProvider.js Datei anzeigen

@@ -4,7 +4,7 @@

import { Cesium } from '../../../namespace'
import ImageryType from '../ImageryType'
import AmapMercatorTilingScheme from '../tiling-scheme/AmapMercatorTilingScheme'
import GCJ02TilingScheme from '../tiling-scheme/GCJ02TilingScheme.js'

const TILE_URL = {
img: '//webst{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
@@ -22,7 +22,7 @@ class AmapImageryProvider extends Cesium.UrlTemplateImageryProvider {
].join('')
options['subdomains'] = options.subdomains || ['01', '02', '03', '04']
if (options.crs === 'WGS84') {
options['tilingScheme'] = new AmapMercatorTilingScheme()
options['tilingScheme'] = new GCJ02TilingScheme()
}
super(options)
}

+ 2
- 2
src/modules/imagery/provider/BaiduImageryProvider.js Datei anzeigen

@@ -4,7 +4,7 @@

import { Cesium } from '../../../namespace'
import ImageryType from '../ImageryType'
import BaiduMercatorTilingScheme from '../tiling-scheme/BaiduMercatorTilingScheme'
import BD09TilingScheme from '../tiling-scheme/BD09TilingScheme.js'

const TILE_URL = {
img: '//shangetu{s}.map.bdimg.com/it/u=x={x};y={y};z={z};v=009;type=sate&fm=46',
@@ -29,7 +29,7 @@ class BaiduImageryProvider extends Cesium.UrlTemplateImageryProvider {
for (let i = 0; i < 19; i++) {
resolutions[i] = 256 * Math.pow(2, 18 - i)
}
options['tilingScheme'] = new BaiduMercatorTilingScheme({
options['tilingScheme'] = new BD09TilingScheme({
resolutions,
rectangleSouthwestInMeters: new Cesium.Cartesian2(
-20037726.37,

+ 6
- 14
src/modules/imagery/provider/GoogleImageryProvider.js Datei anzeigen

@@ -4,24 +4,14 @@

import { Cesium } from '../../../namespace'
import ImageryType from '../ImageryType'
import GCJ02TilingScheme from '../tiling-scheme/GCJ02TilingScheme.js'

/**
*
* 地址:https://gac-geo.googlecnapps.cn/maps/vt?lyrs=s&x={x}&y={y}&z={z}
* 底图类型:
* m 标准路线图 lyrs=m
* r 某种改变的路线图(路线不明显) lyrs=r
* s 影像层(卫星图) lyrs=s
* y 带标签的卫星图 lyrs=y
* h 标签层(路名、地名等) lyrs=h
* t 地形图 lyrs=t
* p 带标签的地形图 lyrs=p
*
*/
const TILE_URL = {
img: 'https://gac-geo.googlecnapps.cn/maps/vt?lyrs=s&x={x}&y={y}&z={z}',
elec: 'https://gac-geo.googlecnapps.cn/maps/vt?lyrs=m&x={x}&y={y}&z={z}',
cva: 'https://gac-geo.googlecnapps.cn/maps/vt?lyrs=h&x={x}&y={y}&z={z}',
ter: 'https://gac-geo.googlecnapps.cn/maps/vt?lyrs=t@131,r&x={x}&y={y}&z={z}',
img_cva: 'https://gac-geo.googlecnapps.cn/maps/vt?lyrs=y&x={x}&y={y}&z={z}',
}

class GoogleImageryProvider extends Cesium.UrlTemplateImageryProvider {
@@ -32,7 +22,9 @@ class GoogleImageryProvider extends Cesium.UrlTemplateImageryProvider {
options.protocol || '',
TILE_URL[options.style] || TILE_URL['elec'],
].join('')
options['subdomains'] = options.subdomains || ['1', '2', '3']
if (options.crs === 'WGS84') {
options['tilingScheme'] = new GCJ02TilingScheme()
}
super(options)
}
}

src/modules/imagery/tiling-scheme/BaiduMercatorTilingScheme.js → src/modules/imagery/tiling-scheme/BD09TilingScheme.js Datei anzeigen

@@ -4,12 +4,12 @@

import { Cesium } from '../../../namespace'
import { CoordTransform } from '../../transform'
import BaiduMercatorProjection from '../projection/BaiduMercatorProjection'
import BD09Projection from '../projection/BD09Projection'

class BaiduMercatorTilingScheme extends Cesium.WebMercatorTilingScheme {
class BD09TilingScheme extends Cesium.WebMercatorTilingScheme {
constructor(options) {
super(options)
let projection = new BaiduMercatorProjection()
let projection = new BD09Projection()
this._projection.project = function (cartographic, result) {
result = result || {}
result = CoordTransform.WGS84ToGCJ02(
@@ -49,7 +49,7 @@ class BaiduMercatorTilingScheme extends Cesium.WebMercatorTilingScheme {
* @param y
* @param level
* @param result
* @returns {module:cesium.Rectangle|*}
* @returns {Rectangle|*}
*/
tileXYToNativeRectangle(x, y, level, result) {
const tileWidth = this.resolutions[level]
@@ -98,4 +98,4 @@ class BaiduMercatorTilingScheme extends Cesium.WebMercatorTilingScheme {
}
}

export default BaiduMercatorTilingScheme
export default BD09TilingScheme

src/modules/imagery/tiling-scheme/AmapMercatorTilingScheme.js → src/modules/imagery/tiling-scheme/GCJ02TilingScheme.js Datei anzeigen

@@ -5,7 +5,7 @@
import { Cesium } from '../../../namespace'
import { CoordTransform } from '../../transform'

class AmapMercatorTilingScheme extends Cesium.WebMercatorTilingScheme {
class GCJ02TilingScheme extends Cesium.WebMercatorTilingScheme {
constructor(options) {
super(options)
let projection = new Cesium.WebMercatorProjection()
@@ -36,4 +36,4 @@ class AmapMercatorTilingScheme extends Cesium.WebMercatorTilingScheme {
}
}

export default AmapMercatorTilingScheme
export default GCJ02TilingScheme

+ 1
- 3
src/modules/measure/Measure.js Datei anzeigen

@@ -16,7 +16,7 @@ import MeasureType from './MeasureType'

class Measure {
constructor(viewer) {
if (!viewer) {
if (!viewer) {
throw Error('missing viewer param')
}
this._viewer = viewer
@@ -122,8 +122,6 @@ class Measure {
return this
}


/**
*
* @param type

Laden…
Abbrechen
Speichern