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

刚接触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官网体验!

相关推荐
嘻哈baby36 分钟前
Redis高可用部署与集群管理实战
数据库·redis·bootstrap
DolphinDB智臾科技2 小时前
DolphinDB 面向金融交易与定价的统一数据模型
数据库·时序数据库
檀越剑指大厂2 小时前
时序数据库性能之战:金仓数据库如何在复杂场景下反超 InfluxDB?
数据库·时序数据库
计算机毕设VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue图书借阅管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
数据与人2 小时前
mongodb报错Sort exceeded memory limit of 104857600 bytes
数据库·mongodb
程序员鱼皮2 小时前
消息队列从入门到跑路,保姆级教程!傻子可懂
数据库·程序员·消息队列
Serendipity_Carl2 小时前
数据可视化实战之链家
python·数据可视化·数据清洗
C++业余爱好者3 小时前
SQL语言家族入门指南:标准SQL、T-SQL与PL/SQL详解
数据库·sql
白驹过隙^^3 小时前
OB-USP-AGENT安装使用方法
数据库·经验分享·网络协议·tcp/ip·github·ssl
计算机程序设计小李同学3 小时前
基于Python的在线零食购物商城系统的设计与实现
数据库·sqlite