首页 / 浏览问题 / 三维GIS / 问题详情
超图搜索功能
72EXP 2022年06月24日

超图页面中搜索输入关键词提示列表这个功能是否有???

就是这个展示列表功能:

1个回答

您好,构造地址匹配服务,构造您业务数据的是可以实现该能力的。

https://blog.csdn.net/supermapsupport/article/details/77933357

或者也可以使用Oline产品线已经构造好的地址匹配服务。

希望可以帮助到您。

10,758EXP 2022年06月24日
这个是加载超图那个api
这个rjson是什么格式的呀,这是前端vue写法吗
格式化了的json对象。
这个有实现过的案例吗

我说是这种搜索关键字展示出来相关列表,调用这个api实现的案例

就是这个网站上面的这个左上角搜索功能:http://mars3d.cn/project/es5/jcxm.html

这个搜索功能就是地址匹配服务实现的。

只是具体业务在显示层实现的方式不一样,地址匹配服务可以返回来地址信息,包括名称属性、坐标、几何等信息的,

您这边只用属性信息是可以的哈,不是必须要在地图上显示的,取决于您自己想以什么形式显示。

具体搜索box、下来列表数据加载这些是webUI开发这块的,不实际地址匹配服务本身,您可以自行构建实现。

这个API里有两种资源

geocoding

geodecoding

正向匹配资源和反向匹配资源两种,发布地址匹配服务后您根据您需要的情况选择资源发http请求获取结果即可。

我上面给您发的博客介绍流程、api文档里面使用和参数有清晰的中文描述,那些demo里也有源码可以查看的。

您可以仔细查看一下,写在您代码自己电脑上测试实现一下的。

你们这个接口解析方式是用的什么,为什么我有ajax解析不出来呢
使用对应的iclient产品来初始化地址匹配服务就可以的。

上面回答里给您提供的csdn和demo都很清晰具体的实现了的。

我使用这个 AddressMatchService 为什么会报错呢??

   // var  addressUrl = "http://localhost:8090/iserver/services/addressmatch-Address/restjsr/v1/address/geocoding.rjson?address=公司&fromIndex=0&toIndex=10&maxReturn=-1";
      var host = window.isLocal ? window.server : "https://iserver.supermap.io";

      var addressUrls=host+'/iserver/services/addressmatch-Address/restjsr/v1/address/geocoding.rjson?address=公司&fromIndex=0&toIndex=10&maxReturn=-1'
      var addressMatchService = new SuperMap.REST.AddressMatchService(addressUrls,{data: '11'});
      console.log(addressMatchService,'addressMatchService22');

该报错有三个可能,引包错误、构造错误、参数错误,建议您先排查引包错误。

还有就是上面给您提供的是11的iclient,如果您用的是10i升级成11i或者请移步这里 http://support.supermap.com.cn:8090/iserver/iClient/forJavaScript/web/index.html
这个react版本我也不知道是多少版本的呀

报这个错误和版本更新有关系是吗??

TypeError: SuperMap is not a constructor
不是 react 版本,是iclient的版本,iclient不同版本示例代码和引包是有一些差异的。

你的iclient是10i,示例代码就看10i,是11i就看11i的。

TypeError: SuperMap is not a constructor 有三个可能,引包错误、构造错误、参数错误,建议您先排查引包错误。

不是一定是版本原因哈。
...