Three.js - MapControls 地图控件

本文介绍了Three.js中的MapControls地图控件,适用于展示地图模型并限制用户反转操作。提供了引入js文件、创建实例、设置参数及操控方法的详细步骤,并附带了示例代码和在线演示链接。
摘要由CSDN通过智能技术生成

THREE.MapControls()地图控件,如果查看类似地图模型或者不希望用户对模型进行反转的时候可以使用这个控件,这个控件是three.jsr94版本徐新添加的。

1、示例

https://ithanmang.gitee.io/threejs/home/201809/20180904/01-MapControls.html
screenSpacePanning属性为true的时候,可以拖动旋转模型。
这里写图片描述

2、使用控件
2.1、引入js文件
<script src="../../libs/examples/js/controls/MapControls.js"></script>

MapControls.js在版本**r94**以及以上可以找到。

2.3、创建实例
/* 地图控件 */
controls = new THREE.MapControls(camera, renderer.domElement);
2.4、设置参数
/* 属性参数 */
controls.enableDamping = true;// 启用动态阻尼时需要一个动画循环
controls.dampingFactor = 0.30;

controls.screenSpacePanning = false;// 若为 true 则可以平移

controls.maxDistance = 400;
controls.minDistance = 100;

controls.maxPolarAngle = Math.PI / 2.2;
controls.autoRotate = false;

如果打开controls.enableDamping = true动态阻尼的话。
需要在循环动画中,调用controls.update()方法,来更新数据。
完整的参数列表可以查看源码获得

2.5、操控方法
操控 动作
鼠标左键 平移
鼠标右键 旋转和改变极地角度
鼠标滑轮 缩放
3、示例代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="icon" href="../../../three.png">
    <title>MapControls 地图控件</title>
    <style>
        body {
   
            margin: 0;
            overflow: hidden; /* 溢出隐藏 */
        }

        #loading {
   
            position: fixed;
            top: 50%;
            left: 50%;
            color: #FFFFFF;
            font-size: 20px;
            margin-top: -30px;
            margin-left: -40px;
        }
    </style>
    <script src="../../libs/build/three-r93.js"></script>
    <script src="../../libs/examples/js/Detector.js"></script>
    <script src="../../libs/examples/js/libs/dat.gui.min.js"></script>
    <script src="../../libs/examples/js/libs/stats.min.js"></script>
    <script src="../../libs/examples/js/loaders/MTLLoader.js"></script>
    <script src="../../libs/examples/js/loaders/OBJLoader.js"></script>
    <script src="../../libs/chroma/chroma.js"><
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值