Cesium.Geocoder在Cesium API (https://www.cesium.com/docs/cesiumjs-ref-doc/Geocoder.html) 提供了geocoderServices让我们可以指定自己的一到多个geocoder服务。
而在iClient3D的在Cesium API (http://support.supermap.com.cn:8090/webgl/Build/Documentation/Geocoder.html)中,貌似这换成了url,文档中也未提及指定这个url后会如何带入查询参数、响应的格式是怎样
您好,您可以参考示例代码http://support.supermap.com.cn:8090/webgl/examples/editor.html#location。
您好,如果您需要自己设定查询参数来响应,可以调用二维接口的GeoCodingParameter类,具体用法可参考API文档https://iclient.supermap.io/9.0.0/web/libs/iclient8c/apidoc/files/SuperMap/Cloud/Location/GeocodingParameter-js.html以及示例代码https://iclient.supermap.io/examples/classic/editor.html#addressMatchService。
期望达到的效果是:
这需求使用Cesium较新版本的Cesium.Geocoder可以实现。iClient3D可能基于较早版本的Cesium,能否合并较新版本的Cesium.Geocoder代码到iClient3D中?
iClient3D的包哦,在supermap官网上下载http://support.supermap.com.cn:8090/webgl/download.html。
另外,iClient3D 10.0.1中的Cesium.Geocoder options指定了url也无用,依然在点击图标后才访问http://www.supermapol.com/iserver/services/localsearch/rest/searchdatas/China/poiinfos.jsonp?keywords=
与API文档,http://support.supermap.com.cn:8090/webgl/Build/Documentation/Geocoder.html?classFilter=Geocoder,中所述不符
按Cesium API(https://www.cesium.com/docs/cesiumjs-ref-doc/Geocoder.html),在options的参数中指定我封装的geocoderServices数组就可以让Geocoder来访问我的geocoding service。
按iClient3D的API(http://support.supermap.com.cn:8090/webgl/Build/Documentation/Geocoder.html)在options的参数中有个url似乎可以指定来访问我的geocoding service,但实际上不起任何作用,依然是http://www.supermapol.com/iserver/services/localsearch/rest/searchdatas/China/poiinfos.jsonp?keywords=。可以假定iClient3D源码中的Geocoder.js和GeocoderViewModel.js与Cesium 1.37是不同实现。
创建的Geocoder的部分代码:
var options = { url: "http://localhost:/geocoder", container : container, geocoderServices: services, scene: scene, viewer: viewer
}; new Cesium.Geocoder(options);
解决方案可不可以是: