学习日记2011.3.7

    技术2022-05-19  18

    =============================================

    JavaScript push() 方法

    <td>定义和用法</td>

    push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

    语法

    arrayObject.push(newelement1,newelement2,....,newelementX) 参数描述newelement1必需。要添加到数组的第一个元素。newelement2可选。要添加到数组的第二个元素。newelementX可选。可添加多个元素。

     

    =============================================

     

    地图对象,关于地图空间自身属性在SuperMap命名空间中,而对于关于控件自身的x,y值在SuperMap.UI中。

    function getQueryLayerNames(){

        var queryLayerNames = new Array();

        try{

            var objLayers = mapControl.getMap().get_layers(); //对于地图对象首先要得到地图对象(getmap()),取得其下的layers

     

            if(objLayers){

            

                var layerSettingType = new SuperMap.LayerSettingType();

                for(var i = 0; i < objLayers.length; i++){ //对于其下layers又有多层。可有主层和含主题标签层(非完全回忆)。

                    if(objLayers[i] && 

                        objLayers[i].layerSetting && 

                        objLayers[i].layerSetting.layerSettingType == layerSettingType.supermapcollection && 

                        objLayers[i].subLayers){

                        var superMapLayerType = new SuperMap.SuperMapLayerType();

     

     

                        for(var j = 0; j < objLayers[i].subLayers.length; j++){ // 同上

                            // SuperMap的矢量图层

                            if(objLayers[i].subLayers[j] && 

                                objLayers[i].subLayers[j].layerSetting && 

                                objLayers[i].subLayers[j].layerSetting.superMapLayerType == superMapLayerType.vector &&

                                objLayers[i].subLayers[j].queryable){

                                var layerName = objLayers[i].subLayers[j].name;

                                queryLayerNames.push(layerName);

                                //利用objLayers[i].subLayers[j].;

                            }

     

                        }            

                    }

                }

            }

        }catch(e){

     

        }

     

        return queryLayerNames;

    };

    ==================

    function onQueryComplete(resultSet){} 函数是回调的,

    如:

    queryAction = new SuperMap.UI.PointQueryAction(queryLayerNames, sqlParam, tolerance, true, onQueryComplete, onError); 成功则调用onQueryComplete,resultset是在上句中得到。

    **objLayers其实相当于resultset。 


    最新回复(0)