08 Cesium—影像服务-1

文章中所有操作均是在 Cesium 1.91 版本下进行的,其它版本差异请自行适配

影像服务 1

相关介绍请移步影像服务介绍,这里先介绍其中几个在线服务,包括:ArcGisMapServerImageryProvider、BingMapsImageryProvider、OpenStreetMapImageryProvider、MapboxImageryProvider 和 MapboxStyleImageryProvider。

ArcGisMapServerImageryProvider

支持ArcGIS Online和Server的相关服务。

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var arcgisProvider = new Cesium.ArcGisMapServerImageryProvider({
    url: "https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer",
    enablePickFeatures: false //是否点击地图获取查询图层的要素,默认为true
});

viewer.imageryLayers.addImageryProvider(arcgisProvider);

//设置初始位置
viewer.camera.setView({
    destination: Cesium.Cartesian3.fromDegrees(116.75199, 36.55358, 3000000)
});

效果如下:

BingMapsImageryProvider

Bing地图影像,可以指定 mapStyle,详见 BingMapsStyle 类。

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var bingStyle = [
    Cesium.BingMapsStyle.AERIAL_WITH_LABELS,
    Cesium.BingMapsStyle.COLLINS_BART,
    Cesium.BingMapsStyle.CANVAS_GRAY,
    Cesium.BingMapsStyle.CANVAS_LIGHT,
    Cesium.BingMapsStyle.CANVAS_DARK,
    Cesium.BingMapsStyle.ORDNANCE_SURVEY,
    Cesium.BingMapsStyle.ROAD,
    Cesium.BingMapsStyle.AERIAL
];

var bingProvider = new Cesium.BingMapsImageryProvider({
	url: "bing地图影像服务地址", //例如:https://dev.virtualearth.net
	key: "bing授权的key", //需要注册账号
	mapStyle: bingStyle[0] //可以指定mapStyle,详见BingMapsStyle类
});

viewer.imageryLayers.addImageryProvider(bingProvider);

效果如下(作者从网上撬了一个key试了试还能行,仅展示效果):

OpenStreetMapImageryProvider

OSM 影像服务,根据不同的 url 选择不同的风格。

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var osmProvider = new Cesium.OpenStreetMapImageryProvider({
    url: "https://a.tile.openstreetmap.org/",
    minimumLevel: 0,
    maximumLevel: 18,
    fileExtension: "png"
});

viewer.imageryLayers.addImageryProvider(osmProvider);

//设置初始位置
viewer.camera.setView({
    destination: Cesium.Cartesian3.fromDegrees(116.75199, 36.55358, 20000000)
});

效果如下:

MapboxImageryProvider

Mapbox 影像服务,根据 mapId 指定地图风格。

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var mapIds = [
    "mapbox.satellite",
    "mapbox.streets",
    "mapbox.streets-basic",
    "mapbox.light",
    "mapbox.streets-satellite",
    "mapbox.wheatpaste",
    "mapbox.comic",
    "mapbox.outdoors",
    "mapbox.run-bike-hike",
    "mapbox.pencil",
    "mapbox.pirates",
    "mapbox.emerald",
    "mapbox.high-contrast",
];

var mapboxProvider = new Cesium.MapboxImageryProvider({
    mapId: mapIds[0],
    accessToken: "Mapbox授权的accessToken" //这里不展示这个token了
});

viewer.imageryLayers.addImageryProvider(mapboxProvider);

//设置初始位置
viewer.camera.setView({
    destination: Cesium.Cartesian3.fromDegrees(116.75199, 36.55358, 20000000)
});

效果如下:

MapboxStyleImageryProvider

Mapbox 影像服务,根据 styleId 指定地图风格。

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var styleIds = [
    "streets-v11",
    "outdoors-v11",
    "light-v10",
    "dark-v10",
    "satellite-v9",
    "msatellite-streets-v11"
];

var mapboxstyleProvider = new Cesium.MapboxStyleImageryProvider({
    styleId: styleIds[0],
    accessToken: "Mapbox授权的accessToken" //这里不展示这个token了
});

viewer.imageryLayers.addImageryProvider(mapboxstyleProvider);

//设置初始位置
viewer.camera.setView({
    destination: Cesium.Cartesian3.fromDegrees(116.75199, 36.55358, 20000000)
});

效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WorkLee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值