首页 / 浏览问题 / 云GIS / 问题详情
sql查询无结果
3EXP 2021年12月06日
{"succeed":false,"error":{"code":404,"errorMsg":"资源不存在"}}

1个回答

您好,根据您的报错信息显示,应该是您的数据没有成功调用
341EXP 2021年12月06日
您好,这边可以给您提供几个排查思路

1、检查一下您的url地址是否正确;

2、检查一下您的数据源和数据集的名称是否正确

我这边刚刚对您提供的这个url进行访问,是没有访问成功的哦

我这边是可以访问的,并且它下面还有三个子节点 

所以您可以检查一下数据集和数据源的名称是否错误,以及您的顺序是否正确呢

看了一下,数据集与数据源名称是没错的MPH,这问题到底出在哪里了呀 crying

  function addrLocate(){
	    	mphLayer.getSource().clear(); 
		    var mphname = $("#addrVal").val();
		    var sqlParam = new SuperMap.GetFeaturesBySQLParameters({
				queryParameter : {
					name : "mph@mph_nwe",
					attributeFilter : "MPH.JLXNAME like '%mphname%'",
					hasGeometry : true
				},
				datasetNames : [ "mph:mph_nwe" ]
			});
		    
		    new ol.supermap.FeatureService(urlf).getFeaturesBySQL(sqlParam, 
  function(serviceResult) {
		    	var data = serviceResult.result;
		    	if(data.length<1){
    				alert("没有查询到该地址");
    				}else{
			var gpsx;
			var gpsy;
			for (var i = 0; i < data.length; i++) {
			 gpsx=parseFloat(data[i].X);
			 gpsy=parseFloat(data[i].Y);
                var feature = new ol.Feature({
                    geometry: new ol.geom.Point([gpsx,gpsy]),
                    name:data[i].MPHID,
                    type:'house'
                })
               
                    let style = new ol.style.Style({
                    image: new ol.style.Icon({
                        scale: 0.8,
                        src: '../img/housea.png',
                        anchor: [0.48, 0.52]
                    })
                })
                feature.setStyle(style);
                mphLayer.getSource().addFeature(feature);
        }
                map.getView().setCenter([gpsx,gpsy]);
				map.getView().setZoom(15);
                   //定义select控制器,点击标注后的事件
            
			}
		    });
}

var sqlParam = new SuperMap.GetFeaturesBySQLParameters({
     queryParameter: {
       name: "Countries@World",
       attributeFilter: "SMID = 234"
      },
     datasetNames: ["World:Countries"]
    });

 var sqlParam = new SuperMap.GetFeaturesBySQLParameters({
                queryParameter : {
                    name : "MPH@mph_nwe",
                    attributeFilter : "MPH.JLXNAME like '%mphname%'",
                    hasGeometry : true
                },
                datasetNames : [ "MPH:mph_nwe" ]
            });

您仔细对比一下官网的示例,您的这个顺序就乱了呀,name的格式是“数据集@数据源”

datasetNames的格式是“数据源:数据集”呀

数据源(MPH)、数据集(MPH)

 var sqlParam = new SuperMap.GetFeaturesBySQLParameters({
				queryParameter : {
					name : "MPH@MPH",
					attributeFilter : "MPH.JLXNAME like '%mphname%'",
					hasGeometry : true
				},
				datasetNames : [ "MPH:MPH" ]
			});

所以现在问题解决了吗?或者说还是报一样的错误,如果是一样的错误,您尝试着将数据源和数据集的名称做一下区别试试
已解决~
...