SuperMap iClient for Leaflet对EPSG:4509地图加载&滑动查询
在WebGIS开发使用中,我们会遇到地图显示不了,以及查询到数据显示不出的问题,因此本文就以EPSG:4509为例介绍该坐标系地图加载和查询。
1、EPSG:4509地图加载
iClient for Leaflet 默认是不支持EPSG:4509,就需要通过 proj4 坐标系统扩展类CRS去做扩展。
1. L.supermap.Proj.CRS
CRS接口介绍如下图:

讯享网
2. Proj4js库使用
iclient-leaflet中有引用proj4js,再次不在引入proj4js包;定义坐标系参考(https://epsg.io),EPSG:4509的定义如下:
proj4.defs("EPSG:4509","+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0= +y_0=0 +ellps=GRS80 +units=m +no_defs +type=crs");
讯享网
3. 实现代码 - 定义CRS4509

讯享网 //定义CRS4509 var crs4509 =L.Proj.CRS("EPSG:4509",{ def: "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0= +y_0=0 +ellps=GRS80 +units=m +no_defs +type=crs", bounds: L.bounds([ .71 , .46], [.38 , .13]) });
2、滑动查询
iclient-leaflet 的几何查询详见官网示例(https://iclient.supermap.io/examples/leaflet/editor.html#02_getFeatureByGeometry)在此不做多说明;leaflet 绘制数据默认为 4326,服务器返回数据为4509,因此在加载到地图前,先进行坐标系转换。
L.supermap.Util.transform接口介绍
实现代码 - 坐标转换
//4509转4326 L.supermap.Util.transform(serviceResult.result.features, crs4509, L.CRS.EPSG4326);
3、结果展示

本文完整代码:https://download.csdn.net/download/_/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/24340.html