mars3D使用 POI 查询、限定范围

一、mars3D中使用 geocoder 进行 POI 查询

在json文件或者自己的mapOptions中配置token
在这里插入图片描述

 "token":{
      "tianditu":"e5c3984ced09bc1f55e8e1107fdc5a6b",
      "baidu":"jTqhUqeeRirqd8musUiYmthqdHDHsiB2",
      "gaode":"ee24b622294b5bc659fb92fe81084776",
      "ion":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI2NjkxN2Y5Ni0wZjgyLTQyZDEtODEzNS0zYTlkN2UwMmU3OTciLCJpZCI6NTM1NDIsImlhdCI6MTYxOTIzMDkzMH0.S3x2FMdIx98KuCq8vN_gkC_PArveXJ5bPBNZ3CEYgtc",
      "mapbox":"pk.eyJ1IjoiY25zdW55b3VyIiwiYSI6ImNsMmN5Y2ppaDB0ZGYzam8yZmF2MjVqb3cifQ.FYxirkiZsriqaFw_x0IyAw",
      "bing":"Am5SdKm6pNdkP1P5zuUOMZwleCHeA7GD5vuQgZ3xBUbEMBeQ5cQ1WN4B8xqqV1Vt"
    }

自己部署代理服务
github地址 https://github.com/muyao1987/web-proxy
在这里插入图片描述
启动后
在这里插入图片描述
就可以直接调用 把key换成自己的
例如
在这里插入图片描述
在这里插入图片描述

二、限定范围

在这里插入图片描述

1.初始化时渲染

 // 限制视角范围
    cameraHistory = new mars3d.thing.CameraHistory({
        limit: {
            // 限定视角范围
            position: Cesium.Cartesian3.fromDegrees(119.332936, 26.056425, 0),
            radius: 500,// 范围半径
            debugExtent: true // 是否开启限定范围
        },
        maxCacheCount: 999  //最大缓存数量
    })
    map.addThing(cameraHistory)

    cameraHistory.on(mars3d.EventType.change, function (event) {
        // 触发自定义事件
        const count = event.count
        eventTarget.fire("changeCamera", { count })
    })

2.重新渲染

// 是否开启限定范围
export function chkUnderground(val, limit) {
    // cameraHistory.debugExtent = val
    // cameraHistory.options.limit = null
    // if (val) cameraHistory.setOptions({
    //     limit: limit || null,  // 传入的 limit 或 null
    //     debugExtent: true // 是否开启限定范围
    // })
    if (cameraHistory) {
        cameraHistory.destroy();
    }
    cameraHistory = new mars3d.thing.CameraHistory({
        limit: val ? limit : null,  // 传入的 limit 或 null
        debugExtent: val,           // 是否开启限定范围
        maxCacheCount: 999          // 最大缓存数量
    });
    map.addThing(cameraHistory)
    cameraHistory.on(mars3d.EventType.change, function (event) {
        // 触发自定义事件
        const count = event.count
        eventTarget.fire("changeCamera", { count })
    })
}

总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灰太狼大王灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值