cesium+高德服务实现地名搜索+路径规划

cesium+高德服务实现地名搜索+路径规划

首先在高德开放平台中申请开发者账号,申请web服务的key,现在这里讲一下具体实现思路,有人看的话再放源码吧,
页面两个输入框,一个起点,一个终点,加一个按钮,按钮设置点击事件,然后利用ajax访问高德web服务的地理编码网址,具体属性看高德平台的介绍,非常详细,success后再写一份利用ajax调用高德路径服务的方法,然后会返回一组paths,里面就是路径,然后再在cesium中进行渲染路径,想做的话还可以加一个小车模型在路径移动,大致就是这样,简单记录一下,望自己不忘初心,早日摆脱生活的枷锁,加油。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
根据提供的引用内容,Cesium是一个开源的JavaScript库,用于创建WebGL应用程序,可以用于创建三维地球和其他地球空间可视化应用程序。Vue.js是一个流行的JavaScript框架,用于构建用户界面和单页应用程序。在这里,我们可以使用Cesium和Vue.js来实现三维风场和风速热力图。 以下是实现步骤: 1.安装Cesium和Vue.js 在终端中运行以下命令来安装Cesium和Vue.js: ```shell npm install cesium vue --save ``` 2.创建Vue.js应用程序 在Vue.js应用程序中,我们需要使用Cesium Viewer组件来创建三维地球。在App.vue文件中,我们可以使用以下代码来创建Cesium Viewer组件: ```vue <template> <div id="cesiumContainer"></div> </template> <script> import * as Cesium from 'cesium/Cesium' export default { name: 'App', mounted () { const viewer = new Cesium.Viewer('cesiumContainer') } } </script> ``` 3.添加风场数据 我们可以使用Cesium的ParticleSystem组件来添加风场数据。在mounted()方法中,我们可以使用以下代码来添加风场数据: ```javascript const particleSystem = viewer.scene.primitives.add(new Cesium.ParticleSystem({ image: 'path/to/particle/image.png', startColor: Cesium.Color.RED, endColor: Cesium.Color.YELLOW, startScale: 1.0, endScale: 0.0, minimumSpeed: 5.0, maximumSpeed: 10.0, lifetime: 10.0, emitter: new Cesium.SphereEmitter(0.5), rate: 1000, bursts: [ new Cesium.ParticleBurst({ time: 0.0, minimum: 100, maximum: 200 }), new Cesium.ParticleBurst({ time: 1.0, minimum: 100, maximum: 200 }) ] })) ``` 4.添加风速热力图 我们可以使用Cesium的HeatmapImageryProvider组件来添加风速热力图。在mounted()方法中,我们可以使用以下代码来添加风速热力图: ```javascript const heatmapImageryProvider = new Cesium.HeatmapImageryProvider({ canvasSize: new Cesium.Cartesian2(2048, 2048), data: 'path/to/heatmap/data.json', gradientStops: [ { stop: 0.0, color: Cesium.Color.TRANSPARENT }, { stop: 0.2, color: Cesium.Color.BLUE }, { stop: 0.4, color: Cesium.Color.GREEN }, { stop: 0.6, color: Cesium.Color.YELLOW }, { stop: 0.8, color: Cesium.Color.ORANGE }, { stop: 1.0, color: Cesium.Color.RED } ] }) viewer.imageryLayers.addImageryProvider(heatmapImageryProvider) ``` 5.完整代码 以下是完整的App.vue文件代码: ```vue <template> <div id="cesiumContainer"></div> </template> <script> import * as Cesium from 'cesium/Cesium' export default { name: 'App', mounted () { const viewer = new Cesium.Viewer('cesiumContainer') const particleSystem = viewer.scene.primitives.add(new Cesium.ParticleSystem({ image: 'path/to/particle/image.png', startColor: Cesium.Color.RED, endColor: Cesium.Color.YELLOW, startScale: 1.0, endScale: 0.0, minimumSpeed: 5.0, maximumSpeed: 10.0, lifetime: 10.0, emitter: new Cesium.SphereEmitter(0.5), rate: 1000, bursts: [ new Cesium.ParticleBurst({ time: 0.0, minimum: 100, maximum: 200 }), new Cesium.ParticleBurst({ time: 1.0, minimum: 100, maximum: 200 }) ] })) const heatmapImageryProvider = new Cesium.HeatmapImageryProvider({ canvasSize: new Cesium.Cartesian2(2048, 2048), data: 'path/to/heatmap/data.json', gradientStops: [ { stop: 0.0, color: Cesium.Color.TRANSPARENT }, { stop: 0.2, color: Cesium.Color.BLUE }, { stop: 0.4, color: Cesium.Color.GREEN }, { stop: 0.6, color: Cesium.Color.YELLOW }, { stop: 0.8, color: Cesium.Color.ORANGE }, { stop: 1.0, color: Cesium.Color.RED } ] }) viewer.imageryLayers.addImageryProvider(heatmapImageryProvider) } } </script> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值