(HttpClient)
// http.get(`http://10.14.183.81/kiop-web/static/autoGroup/2.19.0.kd/assets/json/buildData.json`).subscribe(data=>{
// console.log(data)
// })
//覆盖物聚合
// this.map.self.addOverlayLayer({
// serviceName: 'service_tzn_test3', //业务图层类型
// clustered: true, //是否聚合
// defaultIcon: 'icon-policeman-1',//雪碧图名称
// clusteredMarkerTemplate: `'' +
// '{{IMGTAG}}' +
`,
// singleMarkerTemplate: {
// default: '' +
// '{{IMGTAG}}' + '
',
// filters: [
// {
// template: '' +
// '{{IMGTAG}}' +
// '
',
// icon: 'icon-policeman-1',
// //status === 1 的数据,将显示为markerHtml的marker样式
// match: [{
// key: 'status',
// value: 1
// }]
// },
// ]
// },
// ended: function (res) {
// console.log(res,'覆盖物聚合·')
// this.id = res.data
// this.LoadedCallback.forEach(i=>{
// try{
// i();
// }catch(e) {
// console.log(e,'错误')
// }
// });
// this.LoadedCallback = []
// }
// })
}
setMaxZoom(zoom: number) {
throw new Error('Method not implemented.');
}
on(eventName: string, callback: MarkerClusterCallback, component?: any): void {
let _this =this;
if(!this.id){
this.LoadedCallback.push(
()=>_this.on(eventName,callback,component)
);
return;
}
}
setData(list: any[]) {
if (!list.length && this.id) {
}
}
}
export class KedaRenderClusterMarkerr extends KedaBasic implements IRenderClusterMarker { //Marker 聚合物 配置项
discriminator: string = "ISelfCombine";
constructor() {
super();
}
getFirstImages(context: any): string {
return context.data[0].image;
}
contentRender: HtmlRender;
contentNonRender: HtmlRender;
pixelRender: PixelRender;
pixelNonRender: PixelRender;
}
export class KedaInfoWindow extends KedaBasic implements IInfoWindow { //信息窗体
public typeName: string = "KeDaInfoWindow";
constructor(options) {
super();
let opt = {
htmlText: options.content,
// offset: options.offset.self,
anchor: 'bottom',
point: options.position,
closeButton: true,
}
this.self = opt
}
open(map: IMap) {
map.self.addPopup(this.self);
}
listen(html: any, event: string, callback: Function) {
html.addEventListener(event, callback)
}
}
export class KedaLayer extends KedaBasic implements ILayer { //mapInit 配置项
constructor(options: any) {
super();
}
}
export class KedaTileLayer extends KedaBasic implements ITileLayer { //图层切换
constructor() {
super();
}
Satellite() { //卫星图层
return "卫星图层"
}
RoadNet() { //路网图层
return "路网图层"
}
}
export class KedaMouseTool extends KedaBasic implements IMouseTool { //地图工具
constructor(map: IMap) {
super();
this.self = map.self
}
layerIds = [];
layerIdAreas = [];
rule(options: any) {
let that = this
this.self.measureDistance({
units: 'kilometers',
callback: (result) => {
var startText, sClass = that.self.mapType === 'AG' ? 'ag-popup-tools' : 'mm-popup-tools';
var result = result.data;
if (!result.isEnd) {
if (result.isStart) {
that.self.addTexts({
points: [{
point: result.point,
htmlText: '起点',
class: sClass
}],
anchor: 'left',
ended: function (res) {
that.layerIds.push(res.data);
startText = res.data;
}
});
} else {
that.self.addTexts({
points: [{
point: result.point,
htmlText: result.distance.toFixed(4) + 'km',
class: sClass
}],
anchor: 'left',
ended: function (res) {
that.layerIds.push(res.data);
}
});
}
} else {
if (result.index >= 1) {
if (result.isFailure) {
that.layerIds.forEach((layerId) => {
that.self.removeTextsByType({
textType: layerId
});
});
return;
}
that.layerIds.push(result.layerId);
if (that.self.mapType === 'BM') {
that.self.addTexts({
points: [{
point: result.point,
htmlText: '总距离:' + result.distance.toFixed(4) +
'km',
class: sClass
}],
anchor: 'left',
ended: function (res) {
that.layerIds.push(res.data);
}
});
}
} else {
that.layerIds.forEach((layerId) => {
that.self.removeTextsByType({
textType: layerId
});
});
}
}
}
});
}
measureArea(options: any) {
let that = this
this.self.measureArea({
units: 'meters',
callback: (result) => {
var sClass = that.self.mapType === 'AG' ? 'ag-popup-tools' : 'mm-popup-tools';
var result = result.data;
if (!result.isEnd) {
if (result.index >= 2) {
that.self.addTexts({
points: [{
point: result.point,
htmlText: result.area + '平方米',
class: sClass
}],
anchor: 'left',
ended: function (res) {
that.layerIdAreas.push(res.data);
}
});
}
} else {
if (result.index >= 2) {
if (result.isFailure) {
that.layerIdAreas.forEach((layerId) => {
that.self.removeTextsByType({
textType: layerId
});
});
return;
}
that.layerIdAreas.push(result.layerId);
if (that.self.mapType === 'BM') {
that.self.addTexts({
points: [{
point: result.point,
htmlText: '总面积:' + result.area + '平方米',
class: sClass
}],
anchor: 'left',
ended: function (res) {
that.layerIdAreas.push(res.data);
}
});
}
}
}
}
});
}
close(isTrue: boolean) {
if (isTrue) {
this.self.clear();
for (var i in this.layerIds) {
this.self.removeTextsByType({
textType: this.layerIds[i]
});
}
for (var i in this.layerIdAreas) {
this.self.removeTextsByType({
textType: this.layerIdAreas[i]
});
}
this.layerIdAreas = [];
this.layerIds = [];
}
}
}