当前位置: 首页 > news >正文

专业集团网站建设厦门+外贸公司做网站

专业集团网站建设,厦门+外贸公司做网站,旅游网站设计及开发,网站要懂代码目录 想要实现的效果实现过程踩坑安装依赖引入页面 想要实现的效果 示例地址 实现过程 踩坑 示例是通过script引入的依赖,但本人需要在react项目中实现该效果。按照react-globe.gl官方方法引入总是报错 Cant import the named export AmbientLight from non EcmaS…

目录

    • 想要实现的效果
    • 实现过程
      • 踩坑
      • 安装依赖
      • 引入页面

想要实现的效果

示例地址

在这里插入图片描述

实现过程

踩坑

  1. 示例是通过script引入的依赖,但本人需要在react项目中实现该效果。
  2. 按照react-globe.gl官方方法引入总是报错 Can't import the named export 'AmbientLight' from non EcmaScript module (only default export is available)
  3. 原因是通过import Globe from 'react-globe.gl';引入的是.mjs文件,react-globe.gl.mjs
  4. 尝试各种方法都失败,最终通过改为引入.js文件import Globe from "../../node_modules/react-globe.gl/dist/react-globe.gl.min";成功。

安装依赖

package.json版本

    "react-globe.gl": "^2.27.0","satellite.js": "^5.0.0","three": "^0.157.0","three-globe": "^2.30.0","web-vitals": "^2.1.4"

引入页面

import React, { Component, useState, useEffect, useRef, useMemo } from "react";
import Globe from "../../node_modules/react-globe.gl/dist/react-globe.gl.min";
import * as THREE from "three";
import * as satellite from "satellite.js";function World() {const w = window.screen.width * 0.5;const h = (window.screen.height - 80) * 0.7;const EARTH_RADIUS_KM = 6371; // kmconst SAT_SIZE = 80; // kmconst TIME_STEP = 3 * 1000; // per frameconst globeEl = useRef();const [satData, setSatData] = useState();const [globeRadius, setGlobeRadius] = useState();const [time, setTime] = useState(new Date());useEffect(() => {// time ticker(function frameTicker() {requestAnimationFrame(frameTicker);setTime((time) => new Date(+time + TIME_STEP));})();}, []);useEffect(() => {// load satellite datafetch("//unpkg.com/globe.gl/example/datasets/space-track-leo.txt").then((r) => r.text()).then((rawData) => {const tleData = rawData.replace(/\r/g, "").split(/\n(?=[^12])/).filter((d) => d).map((tle) => tle.split("\n"));const satData = tleData.map(([name, ...tle]) => ({satrec: satellite.twoline2satrec(...tle),name: name.trim().replace(/^0 /, ""),}))// exclude those that can't be propagated.filter((d) => !!satellite.propagate(d.satrec, new Date()).position).slice(0, 1500);setSatData(satData);});}, []);const objectsData = useMemo(() => {if (!satData) return [];// Update satellite positionsconst gmst = satellite.gstime(time);return satData.map((d) => {const eci = satellite.propagate(d.satrec, time);if (eci.position) {const gdPos = satellite.eciToGeodetic(eci.position, gmst);const lat = satellite.radiansToDegrees(gdPos.latitude);const lng = satellite.radiansToDegrees(gdPos.longitude);const alt = gdPos.height / EARTH_RADIUS_KM;return { ...d, lat, lng, alt };}return d;});}, [satData, time]);const satObject = useMemo(() => {if (!globeRadius) return undefined;const satGeometry = new THREE.OctahedronGeometry((SAT_SIZE * globeRadius) / EARTH_RADIUS_KM / 2,0);const satMaterial = new THREE.MeshLambertMaterial({color: "palegreen",transparent: true,opacity: 0.7,});return new THREE.Mesh(satGeometry, satMaterial);}, [globeRadius]);useEffect(() => {setGlobeRadius(globeEl.current.getGlobeRadius());globeEl.current.pointOfView({ altitude: 3.5 });}, []);return (<div id="globeViz" className="map_bg"><Globewidth={w}height={h}backgroundColor="rgba(0,0,0,0)"ref={globeEl}globeImageUrl="//unpkg.com/three-globe/example/img/earth-blue-marble.jpg"objectsData={objectsData}objectLabel="name"objectLat="lat"objectLng="lng"objectAltitude="alt"objectFacesSurface={false}objectThreeObject={satObject}/></div>);
}class App extends Component {...render() {return (...<World />...)}
}export default App;
http://www.yayakq.cn/news/811459/

相关文章:

  • jquery网站开发百度搜索关键词排名查询
  • 永康哪有做网站的公司百度seo外链推广教程
  • 网站如何做更新大力推广建设电子商务网站技术
  • 做网站的费用的会计分录ps做网站顶部
  • 网站开发的调研内容高端大气网站欣赏
  • 涉县专业做网站哪些网站做财金的好
  • 打开网站出现directory佛山网红打卡点
  • 哈尔滨网站推广服务制作u盘启动盘
  • 金融公司网站模板怎么做网站动态框
  • 网站建设需要考啥证上海大型网站建设公司
  • 成都网站建设桔子科技保定公司网站建设
  • 视频模板网站wordpress mysql 分表
  • 简约大气网站首页做门户型网站
  • 东莞中英文网站建设平台经济
  • dede做的网站打不开五站合一自建网站
  • 百度新网站提交入口wordpress 邮件收发
  • 帝国建站模板开发商延期交房怎么申请退房
  • 在线直播网站开发实战项目建设网站程序下载
  • 壹佰网站建设在线设计平台代理加盟
  • 中国企业信用网站官网画册印刷
  • 自动生成网站地图怎么做档案信息网站开发利用
  • 高邮企业网站建设他达拉非什么是
  • 做彩票网站是违法的吗企业门户网站建设与发展趋势
  • 墨刀做网站怎样建设一个自己的网站
  • 延安网站建设电话咨询模板网线
  • 常熟有没有做网站的代做作业网站
  • 个人网站如何建全国网站建设公司排行版
  • 英文网站建设60建设英文网站要求
  • 怎么看网站有没有备案专业网站建设-好发信息网
  • 如何做招生网站怎样建立网站的快捷方式