首页 / 浏览问题 / 云GIS / 问题详情
自定义坐标的地图查询服务不返回数据
22EXP 2019年10月30日

用的是Leaflet的地图,自定义的2000坐标,可以显示在地图上面,也可以在上面进行绘制,但进行地图查询服务的时候,用框选范围查询,返回也成功了,但返回显示是空数据

像这样   2000坐标是投影坐标, 是不是leaflet绘制矢量面传入的是经纬度,但数据服务是投影坐标的原因?

1个回答

leaflet的默认绘制是4326的,你把绘制的矢量面console.log出来看它的坐标系是否是经纬度的,如果是的话,那么你在getbounds的时候获取的这个范围就是经纬度下的范围,又因为你的地图是投影坐标系,那么这里做范围查询的话传入的bounds应该是该矢量面在该投影坐标系下的范围。
1,686EXP 2019年10月30日
噢! 那想请问一下如果我想用 L.featureaServerice.getFeaturesByGeometry这个方法,就用不了了吗? 因为我的矢量面都是L.polygon的,但是L.polygon上默认是经纬度的啊。所以我能不能传入Supermap.Geometry.Polygon作为参数呢,API上面写的是可以,可是我将这个类作为参数请求数据,却发生查询失败,返回了400错误码。。。。后来我想用L.Proj4.Geojson这个类作为参数的,可是超图竟然没有把L.Pro4.Geojson(可以传入投影坐标)这个类封装进去,如果,这令我十分难受,现在我已经不知道能用什么类作为参数传入L.featureaServerice.getFeaturesByGeometry这个方法里了,请求赐教一下。。。。
是L.proj.geoJson,我感觉这个点戳到我了

你好,几何查询是可以用的,我们官网上也有相关示例:http://iclient.supermap.io/examples/leaflet/editor.html#01_mapQueryByGeometry3857  底图是投影坐标系,然后通过L.polygon构造几何对象,然后通过这个几何对象进行查询。

你可以参考一下,其中一步骤是把L.polygon做了转换。
好,我试试,我想的方法太狭隘了,没想过用别的接口。。
这个 L.Util.transform是不是只能对已经定义了的坐标系进行转换?自定义的不行吗?
噢,是利用L.Proj返回的CRS填上去吗?
自定义的坐标系需要通过proj4注册。
...