超图iclient for openlayers
教程:https://iclient.supermap.io/web/introduction/openlayersDevelop.html#Ready
叠加地图服务:
//叠加地图服务
var urls = "https://iserver.supermap.io/iserver/services/map-jingjin/rest/maps/京津地区人口分布图_专题图"
var layer = new ol.layer.Tile({
source: new ol.source.TileSuperMapRest({
url: urls,
wrapX: true
}),
projection: 'EPSG:4326'
});
map.addLayer(layer);
根据sql语句查询
function addLayerFeature() {
var param = new SuperMap.QueryBySQLParameters({
queryParams: {
name: 'df@SD',
attributeFilter: "SMID>0"
},
});
new ol.supermap.QueryService('http://localhost:8090/iserver/services/map-SDHH/rest/maps/SD').queryBySQL(
param,
function(serviceResult) {
if (serviceResult.result) {
if (
serviceResult.result.recordsets.length > 0 &&
serviceResult.result.recordsets[0].features.features.length > 0
) {
var features =
serviceResult.result.recordsets[0].features.features;
var layerName = serviceResult.result.recordsets[0].datasetName;
let con = features[0].geometry.coordinates[0];
for (let i = 0; i < features.length; i++) {
var geometry = new ol.geom.LineString();
var coordinates = features[i].geometry.coordinates;
var lineCo = []
for (let j = 0; j < coordinates.length; j++) {
if (coordinates[j][0].length > 1) {} else {
var temp = [coordinates[j][0], coordinates[j][1]];
lineCo.push(temp);
}
}
var lineFeature = new ol.Feature({
geometry: new ol.geom.LineString(lineCo),
//geometry: new ol.geom.LineString([[112,44],[118,55]]),
//geometry: geometry,
});
for (let property in features[i].properties) {
lineFeature.set(property, features[i].properties[property]);
}
vectorLayer.getSource().addFeature(lineFeature);
}
}
}
}
);
}