Skip to main content

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

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

注册VIP

如果已经是VIP,请直接登陆 登陆

发表回复