Geocoder和Cesium自定义geocoder

150 篇文章 1 订阅

Geocoder是一种地理位置搜索工具,用于显示相机访问的地理位置;在Cesium Viewer的界面中就是放大镜的这个图标;
要学习一下才了解,一些浏览器中的信息搜索工具的图标也是放大镜;放大镜在GIS中多数应是Geocoder;

cesium中geocoder默认使用的是bingmap的geocoder服务。只需设置geocoder:true即可调用。

viewer = new Cesium.Viewer("cesiumContainer", {
  geocoder: true,
})

但是,bingmap是国外服务,很多搜索不太合适;
查看官方文档,内置了几种geocoder服务;
    BingMapsGeocoderService
    PeliasGeocoderService
   OpenCageGeocoderService
这几种的中文提示都不怎么好;可以自定义,如使用高德的geocoder;
openstreet的geocoder可以携带区域范围线,而高德的国内数据更合理;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue中引入离线Cesium,需要按照以下步骤进行操作: 1. 下载Cesium离线包,可以从官网下载或者使用其他来源获取。将下载的文件解压到项目中的静态资源目录中,例如public目录下的cesium文件夹。 2. 安装cesium库,可以使用npm或者yarn进行安装: ``` npm install cesium --save 或 yarn add cesium ``` 3. 在Vue组件中引入Cesium,并在mounted生命周期钩子中初始化Cesium: ```vue <template> <div id="cesiumContainer"></div> </template> <script> import * as Cesium from 'cesium/Cesium' import 'cesium/Widgets/widgets.css' export default { name: 'CesiumViewer', mounted() { const viewer = new Cesium.Viewer('cesiumContainer', { imageryProvider: new Cesium.UrlTemplateImageryProvider({ url: 'cesium/Assets/Textures/NaturalEarthII/{z}/{x}/{reverseY}.jpg' }), baseLayerPicker: false, geocoder: false, homeButton: false, sceneModePicker: false, timeline: false, navigationHelpButton: false, animation: false, fullscreenButton: false, vrButton: false }) } } </script> <style scoped> #cesiumContainer { height: 100%; width: 100%; } </style> ``` 4. 在Vue组件中使用Cesium,例如添加一个模型: ```vue <template> <div id="cesiumContainer"></div> </template> <script> import * as Cesium from 'cesium/Cesium' import 'cesium/Widgets/widgets.css' export default { name: 'CesiumViewer', mounted() { const viewer = new Cesium.Viewer('cesiumContainer', { imageryProvider: new Cesium.UrlTemplateImageryProvider({ url: 'cesium/Assets/Textures/NaturalEarthII/{z}/{x}/{reverseY}.jpg' }), baseLayerPicker: false, geocoder: false, homeButton: false, sceneModePicker: false, timeline: false, navigationHelpButton: false, animation: false, fullscreenButton: false, vrButton: false }) const modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame( Cesium.Cartesian3.fromDegrees(-75.62898254394531, 40.02804946899414, 0.0) ) const model = viewer.scene.primitives.add( Cesium.Model.fromGltf({ url: 'cesium/Assets/Models/CesiumAir/Cesium_Air.glb', modelMatrix: modelMatrix, scale: 200.0 }) ) viewer.zoomTo(model) } } </script> <style scoped> #cesiumContainer { height: 100%; width: 100%; } </style> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值