GIS脚本对象实现在pkgis.js文件,对象名字:pkgis,提供脚本如下:

  • pkgis.setCenterName(name),名称,是一个字符串,在gis中配置的一个中心点的名称
  • pkgis.zoomIn,地图放大
  • pkgis.zoomOut,缩小
  • pkgis.getCurLevel(),获取到当前层级,层级一般是6-24,越大则地图显示范围越小,对象越大4
  • pkgis.getMinMaxZoom(),获取最大最小层级,返回{"min":3,"max":10}
  • pkgis.getLayersInfo(),获取数据库当前动态图层信息。数组格式:[{"name":"道路","type":"line","visible":1}....}
  • pkgis.searchObjects(name,matchMode,layerNames),在某些图层中搜索name和description字段,搜索完毕后直接在地图上标记这些对象
    • name:搜索的对象名称
    • matchMode:exact,精确搜索;contain:包含输入名称
    • layerNames,为undefined或者[]表示在所有图层搜索,否则在指定的图层搜索,如:["图层1","道路1"]
    • 返回值:
      • 在地图中标记处这些对象,并居中显示
      • 返回搜索到的对象列表,[{"name":“金蝶”,"position":[x,y],"description":"金蝶软件园二期"}]
  • pkgis.clearSearchResult(),取消地图上通过search选中的对象
  • pkgis.setAlarmState(objectName,layerName,isAlarming),设置某个图层的某个对象是否显示为报警的颜色、内容
  • pkgis.getFeature(pixel)  获取图层信息,pixel可通过事件返回值value获取
  • pkgis.playBack(timeout, playback_arr,playBack_style);轨迹回放
    • timeout:字符串,从轨迹上一点到另外一点的时间间隔,间隔越小速度越快
    • playback_arr:数组,轨迹上的点的经纬度组成的数组
      • 示例:var playback_arr = [{
        coodinate: '117.05037610525909,38.884779428111926',      //该轨迹点的经纬度
        tip: '藻溪镇',                                                                            //该轨迹点上显示的文字
        iconPath: '/page/upimg/gis/people.png'                               //该轨迹点上显示的图片
        }, {
        coodinate: '117.05172793860258,38.88558116111983',
        tip: '玲珑镇',
        iconPath: '/page/upimg/gis/people.png'
        }, {
        coodinate: '117.05404536719145,38.88817002884517',
        tip: '青山镇',
        iconPath: '/page/upimg/gis/people.png'
        }, {
        coodinate: '117.05880897040191,38.8890886366504',
        tip: '中泰乡',
        iconPath: '/page/upimg/gis/people.png'
        }, {
        coodinate: '117.06546084875885,38.88621586000133',
        tip: '西湖乡',
        iconPath: '/page/upimg/gis/people.png'
        }]
    • playBack_style:  对象,轨迹的样式
      • playBack_style = {
            fontColor:'#0000ff',       //文本颜色
            lineWidth:'2',                 //轨迹线宽
            offsetX: '0',                    //X轴文本偏移量
            offsetY: '50',                  //Y轴文本偏移量
            lineColor:'#0000ff',       //轨迹颜色
            fontScale: 2                  //文本放大/缩小比例
        }
    • pkgis.playBack(1000, playback_arr,playBack_style);
  • pkgis.playBack_pause();轨迹暂停
  • pkgis.addScaleLint()添加比例尺
  • pkgis.setShowObjScope(minScope,maxScope);        //设置对象最哪些层级内显示
    • 示例:pkgis.setShowObjScope(14,16); 表示对象在14-16三个层级内显示,其他图层不显示

事件

  • onClick(objectname,value), object名为gis控件名称,value为:选中的gis对象信息,如果未选中则为undefined,否则为:{"name","张扬路","layer":"道路","layertype:"line","position":[x,y]}
  • onRClick(objectname,value), object名为gis控件名称,value为:选中的gis对象信息,如果未选中则为undefined,否则为:{"name","张扬路","layer":"道路","layertype:"line","position":[x,y]}
  • onDblClick(objectname,value), object名为gis控件名称,value为:选中的gis对象信息,如果未选中则为undefined,否则为:{"name","张扬路","layer":"道路","layertype:"line","position":[x,y]}
  • onLoad(object),加载地图时调用
  • onUnload(object), 地图关闭时调用
  • 无标签