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), 地图关闭时调用