当前位置: 代码迷 >> 综合 >> 扩展 Geocoder 调用高德API查询POI数据
  详细解决方案

扩展 Geocoder 调用高德API查询POI数据

热度:65   发布时间:2024-01-17 08:57:41.0

Geocoder 是一个非常简单的控件,但也是非常常用且实用的控件,顾名思义,Geocoder 就是地理编码的意思,而平常我们经常会查询一些地物,也就是常用的 POI 搜索,就是 Geocoder 的功劳。

初始化时候启用 geocoder

 "geocoder": true

重写 geocoder 中 searchCommand

let geocoder = viewer.geocoder.viewModel;
geocoder._searchCommand = Cesium.createCommand(() => {
    if (geocoder.isSearchInProgress) {
    // 查询进行中,取消执行查询vm.cancelGeoCode(geocoder);} else {
    // 执行查询vm.geocode(geocoder);console.log('geocoder', geocoder);}
});

取消执行查询 cancelGeocode

cancelGeocode(viewModel) {
    viewModel._isSearchInProgress = false;if (Cesium.defined(viewModel._geocodeInProgress)) {
    viewModel._geocodeInProgress.cancel = true;viewModel._geocodeInProgress = undefined;}this.remove(viewModel);},

执行查询 geocode

更多请查看 webgis.fun