首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Forge Viewer中添加Mapbox Tile层的问题

在Forge Viewer中添加Mapbox Tile层的问题
EN

Stack Overflow用户
提问于 2022-10-26 13:00:38
回答 1查看 40关注 0票数 0

我已经开始学习地理信息系统开发与Geodjango,mapbox和开放层。我已经在Autodesk Forge Viewer中创建了我的应用程序,我已经能够创建这个桶并添加了一些3D模型。现在,我面临一个问题,即在Forge中的3D模型下添加一个mapbox Tile层。如有任何协助,将不胜感激。这是我的Javascript代码

代码语言:javascript
复制
代码语言:javascript
复制
class MyMapboxForgeExtension extends Autodesk.Viewing.Extension {
    constructor(viewer, options) {
        super(viewer, options);
    }
    quad(x,y) {
        const mesh = new THREE.Mesh(
            new THREE.PlaneBufferGeometry( 256, 256 ),
            new THREE.MeshNormalMaterial({ color:0xa0a0a0, depthWrite:false, 
                map: (THREE.ImageUtils.loadTexture(`https://api.mapbox.com/styles/v1/snex-tech/cl9ie4t7h00kv15qrta7poy29.html?title=view&access_token=pk.eyJ1Ijoic25leC10ZWNoIiwiYSI6ImNsOWZqbnV6bzAyMDQzd29hNXk2cWgwOHAifQ.-qMPioM3OUUHLWgClmsthw&zoomwheel=true&fresh=true#2/37.75/-92.25`)) })
        );
        mesh.position.set (x*256,y*256, 1);
        return mesh;
    }

    load() {
        this.viewer.addEventListener(Autodesk.Viewing.OBJECT_TREE_CREATED_EVENT, ()=>{
            if (!this.viewer.overlays.hasScene('map')) {
                this.viewer.overlays.addScene('map');
            }
            const tiles = new THREE.Object3D();
            tiles.position.set(-1140,-800, -10);
            tiles.scale.set(2,2,1);
            const tilex = [-1,0,1,2,3];
            const tiley = [0,1,2];
            tilex.map( x => {
                tiley.map( y => {
                    tiles.add(this.quad(x,y));
            })});
            window.tiles=tiles;
            this.viewer.overlays.addMesh(tiles, 'map');
        });
        return true;
    }
    unload() {
        return true;
    }
}
Autodesk.Viewing.theExtensionManager.registerExtension('MyMapboxForgeExtension', MyMapboxForgeExtension);
代码语言:javascript
复制

我尝试在Mapbox中创建一个样式,并在我的Javascript代码中链接mapbox,但是地图并没有在Autodesk Forge Viewer中的3D模型下面反射。下面是我的ForgeViewer.js;

EN

回答 1

Stack Overflow用户

发布于 2022-11-11 01:54:49

尝试使用以下代码:

https://gist.github.com/wallabyway/4503609e84a2b612b27138abba8aa3b7

这是将地图瓷砖添加到观众场景中的最简单方法。它实际上为现场添加了一个小的瓷砖网格。

如果您想要更高级的东西,请使用geoThree.js。我在这里写了一篇博文:

博客:https://forge.autodesk.com/blog/add-mapbox-google-maps-forge-viewer

这能回答你的问题吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74208225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档