1、直接上代码不多bb
错误1:
(我的geoserver是挂载在tomcat上的,有些网上设置的跨域是不行的,是因为有的用的geoserver是直接在jett上的,要注意搜索关键字,要说明自己geoserver是通过什么方式访问的。)
地图加载无问题,但是请求json就会出错,配置见下图。
2、使用jsonp
错误2:
(jsonp原理我这里稍微解释一下,它是要求服务器返回一个带有函数的json数据,比如加上参数jsonpcallback:“kk”,我要求给你数据的服务器段的格式也要有kk(json数据)给你,目的是返回的数据能直接调用js,因为js可以支持跨域请求)
3、解决:
1)你如何要求geoserver给你一个带有函数的json数据呢?
2)或者让geoserver直接返回json。
陷入困境,只有两条路走,
1、去查相关jsonp geoserver的信息。
2、去寻找让geoserver支持直接返回json的方法。
我选择了第一个,第二个建议你看这篇文章可能有用(https://www.cnblogs.com/naaoveGIS/p/8418414.html)。
上代码
https://docs.geoserver.org/latest/en/user/services/wms/reference.html#wms-getfeatureinfo
还没有完又出现了新的错误?:
Invalid format 'text/javascript', supported formats are [text/plain, application/vnd.ogc.gml, text/xml, application/vnd.ogc.gml/3.1.1, text/xml; subtype=gml/3.1.1, text/html, application/json]
查资料显示:
(INFO_FORMAT:INFO_FORMAT参数表示返回的特征信息时使用何种格式。WMS服务器支持的GetFeatureInfo请求格式值在服务元数据中以
思考?。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
应该是jsoup没开吗,尝试查询相关资料,查看自己的geoserver版本
搜索相关资料,发现老外??,让爷修改web.xml
https://gis.stackexchange.com/questions/57494/geoserver-2-3-how-to-enable-jsonp
爷照着办了,修改完成以后,重启,然后成功了,耗时8个小时,?
总结:复制以上代码,然后找到geoserver web.xml修改以上图片,把注释改掉,然后重启geoserver,然后成功,要不是有个墙?就去粉他了。
解决问题全靠百度,要会搜索关键字,要有自己的想法思路,在各种情况下,给自己列出解决路线,不说了感谢百度,感谢csdn,感谢stackexchange歪果仁,如果这篇文章帮助到你,请您粉?,顺便给个赞?。
也要感谢这位朋友 https://blog.csdn.net/weixin_40184249