mars3D使用 POI 查询、限定范围
mars3D使用
- 一、mars3D中使用 geocoder 进行 POI 查询
- 二、限定范围
- 1.初始化时渲染
- 2.重新渲染
- 总结
一、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 })
})
}