046:cesium加载高德地图(多种形式)

本文由高级前端工程师大剑师兰特分享,详细介绍如何在Vue项目中使用Cesium加载高德地图,包括多种配置方式和源代码展示,适合GIS领域的前端开发者参考学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者: 还是大剑师兰特 ,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,优快云知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。

查看本专栏目录 - 本文是第 046个示例

一、示例效果图

二、示例简介

本示例介绍如何在vue+cesium中加载加载高德地图。这里区分了很多种形式,详情见核心分析和源代码。

直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果.

三、配置方式

1)查看基础设置:https://xiaozhuanlan.com/topic/1374609285
或者同样

### 在Unreal Engine中使用Cesium插件加载高德地图数据 #### 安装和配置Cesium for Unreal 为了在Unreal Engine项目中集成并利用Cesium来显示来自高德的地图影像,需先完成Cesium for Unreal的安装。 可以通过Epic Games Launcher中的Twinmotion部分找到Cesium for Unreal插件,并按照提示进行安装。也可以访问官方GitHub仓库获取最新版本源码编译安装[^1]。 #### 配置高德地图服务 由于Cesium默认支持多种在线地理信息服务提供商(如Bing Maps, ArcGIS Online),而直接对接中国本土服务商如高德地图则需要额外设置: 1. **申请API Key** 访问高德开放平台注册账号并创建应用以获得合法使用的密钥。 2. **自定义图层URL模板** 构建符合Cesium预期格式的Tile Map Service(TMS)或Web Map Tile Service(WMTS)请求链接字符串。对于高德而言,通常形式如下: ``` https://webrd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z} ``` 3. **实现ImageryProvider类** 编写继承于`Cesium::CustomUrlTemplateImageryProvider`的具体子类,在其中重载虚函数指定上述定制化参数。 ```cpp #include "Cesium/CustomUrlTemplateImageryProvider.h" class AGaodeMapProvider : public CustomUrlTemplateImageryProvider { public: AGaodeMapProvider(const FString& apiKey) : CustomUrlTemplateImageryProvider( TEXT("https://webrd0{x}.is.autonavi.com/appmaptile?" "lang=zh_cn&size=1&scale=1&style=7&x={X}&y={Y}&z={Z}"), /*minLevel=*/0, /*maxLevel=*/19, /*tilingScheme=*/std::make_shared<CesiumGeospatial::WebMercatorTilingScheme>(), /*rectangle=*/Rectangle::MAX_VALUE, /*apiKey=*/apiKey) {} }; ``` 4. **实例化与挂接至场景视图** 最后一步是在UE编辑器内或者蓝图脚本里新建该提供者的实体对象并将之绑定到当前世界的可视化组件上。 ```blueprint // 假设已在C++侧暴露了AGaodeMapProvider给Blueprints GaodeMapProvider = NewObject<AGaodeMapProvider>(this,TEXT("MyGaodeLayer")); if(GaodeMapProvider){ GaodeMapProvider->SetupPlayerInputComponent(PlayerController); UWorld* world = GetWorld(); if(world && CesiumEditorUtils::IsCesiumForUnrealEnabled()){ ACesium3DTileset* tileSet = ACesium3DTileset::AddNew(this,FVector(0.f)); tileSet->SetImageryProvider(GaodeMapProvider); } } ``` 通过以上步骤即可实现在基于Unreal Engine的游戏或其他虚拟环境中调用高德地图作为底图资源展示的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

还是大剑师兰特

打赏一杯可口可乐

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

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

打赏作者

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

抵扣说明:

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

余额充值