一款地图引擎,搞定多种视角变换!

刚接触Mapmost Web端地图引擎的小伙伴可能会觉得我们API有点多,不知道从哪里入手。

今天就先从视角变换入手,给大家分享在三维地图场景中常用到的5种视角变换的方式,以及每一种方式的不同用途。

一、地图视角切换

  • flyTo - 过渡飞行(有动画)

当我们对场景进行导览或者讲述地图故事时,需要对地图场景进行漫游。这时就可以用到我们SDK提供的这个方法,它可以对地图中心、缩放级别、方位角和倾斜角度做任意组合改变,使其沿着一条曲线以平滑的飞行效果从一个视图移动到另一个视图。该方法能够轻松实现从鸟瞰到街景的流畅切换。

场景制作于Mapmost SDK for WebGL

arduino 复制代码
map.flyTo({
  "center": [120.6745, 31.3184], // 飞行结束后地图的初始中心点
  "zoom": 17.1609, // 飞行结束后地图的层级
  "bearing":-18.5196, // 飞行结束后地图的方位
  "pitch": 38, // 飞行结束后地图的倾斜角
  "speed": 2, // 与curve相关的动态转换的平均速率
  "curve": 1, // 随着飞行路径出现的缩放曲线
});
  • easeTo - 过渡飞行(有动画)

这个接口和flyTo类似,但是它的飞行路径更简单。当我们需要简单的飞行动画效果或者想要精准控制飞行的时间时,可以使用这个接口哦。

场景制作于Mapmost SDK for WebGL

arduino 复制代码
map.easeTo({
  "center": [120.67177, 31.317], // 地图中心点
  "zoom": 15.9, // 地图层级
  "pitch": 83, // 地图倾斜角
  "bearing": -116.7657, // 地图方位角
  "duration":3000, // 动画的持续时间(毫秒)
});
  • jumpTo - 瞬移(无动画)

当用户在导航选择起点或终点(如标记、图层上的点或地图上的某个区域)时,我们需要快速定位到用户点击的地图位置。这时,我们就可以使用jumpTo方法,它可以将地图的状态改变到一个新的位置,并且,不包括任何平滑过渡的效果。

添加图片注释,不超过 140 字(可选)

arduino 复制代码
map.jumpTo({
  "center": [120.6718, 31.3177], // 地图中心点
  "zoom": 15.9, // 地图层级
  "pitch": 83, // 地图倾斜角
  "bearing": -116.7657, // 地图方位角
});

二、相机视角切换

上面三种方法都是对地图视角进行切换,下面再介绍两种关于相机的视角切换!

  • cameraFlyTo - 过渡飞行(有动画)

当我们需要跟随安防人员巡检或者监控某辆车的行驶路径时,我们就可以用cameraFlyTo方法。这个方法可以对相机中心位置、方位角和倾斜度做任意组合改变,使其沿着一条曲线动态地变化并引发飞行效果,轻松实现对人/物的视角跟随。

场景制作于Mapmost SDK for WebGL

arduino 复制代码
map.cameraFlyTo({
  "position": [120.6718, 31.3177, 0], // 飞行结束后相机的中心点
  "pitch": 83, // 飞行结束后相机的俯仰角
  "bearing": -116.7657, // 飞行结束后相机的方位角
  "distance": 1600, // 飞行结束后相机与目标中心点的距离
  "duration": 2000, // 飞行持续时间(毫秒)
});
  • setCameraParameter - 瞬移(无动画)

在三维场景中,我们经常会对模型进行快速定位,比如视频中想快速从苏州东方之门切换到苏州中茵皇冠假日酒店时,就可以用到这个接口。它可以精确控制相机参数,设置相机的位置和方向,没有任何动画效果。

如果不知道想要的视角下的相机参数是多少,可以调用getCameraParameter获取当前相机的状态参数哦。

场景制作于Mapmost SDK for WebGL

arduino 复制代码
map.setCameraParameter({
  "position": [120.6804, 31.3225, 67.6302], // 相机中心点
  "pitch": 77.4512, // 相机俯仰角
  "bearing": -47.8852, // 相机方位角
});

综上,无论是想要流畅的飞行体验,还是需要快速切换视角,或是精确控制相机参数,我们的SDK都能提供相应的API来实现。希望这些内容能帮助大家更好地掌握地图视角变换的技巧。

关注 Mapmost,持续更新 GIS、三维美术、计算机技术干货

Mapmost 是一套以三维地图和时空计算为特色的数字孪生底座平台,包含了空间数据管理工具(Studio)、应用开发工具(SDK)、应用创作工具(Alpha)。平台能力已覆盖城市时空数据的集成、多源数据资源的发布管理,以及数字孪生应用开发工具链,满足企业开发者用户快速搭建数字孪生场景的切实需求,助力实现行业领先。

点击此处前往Mapmost官网体验!

相关推荐
数据知道8 分钟前
PostgreSQL 核心原理:系统内部的对象寻址机制(OID 对象标识符)
数据库·postgresql
倔强的石头_38 分钟前
关系数据库替换用金仓:数据迁移过程中的完整性与一致性风险
数据库
Elastic 中国社区官方博客1 小时前
使用 Groq 与 Elasticsearch 进行智能查询
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
穿过锁扣的风1 小时前
一文搞懂 SQL 五大分类:DQL/DML/DDL/DCL/TCL
数据库·microsoft·oracle
l1t1 小时前
DeepSeek总结的SNKV — 无查询处理器的 SQLite 键值存储
数据库·sqlite·kvstore
洛豳枭薰1 小时前
MySQL 梳理
数据库·mysql
码界筑梦坊1 小时前
327-基于Django的兰州空气质量大数据可视化分析系统
python·信息可视化·数据分析·django·毕业设计·数据可视化
九.九1 小时前
CANN 算子生态的底层安全与驱动依赖:固件校验与算子安全边界的强化
大数据·数据库·安全
蓝帆傲亦1 小时前
代码革命!我用Claude Code 3个月完成1年工作量,这些实战经验全给你
jvm·数据库·oracle
亓才孓2 小时前
[JDBC]事务
java·开发语言·数据库