|
|
|
@ -2,9 +2,7 @@
|
|
|
|
|
const $api = require('../../utils/gisApi').API; |
|
|
|
|
const $apiT = require('../../utils/api').API; |
|
|
|
|
const QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js'); |
|
|
|
|
const WKT = require('../../utils/terraformer-wkt-parser.min'); |
|
|
|
|
const gisUtil = require('../../utils/gitUtil') |
|
|
|
|
const util = require('../../utils/util') |
|
|
|
|
let qqmapsdk; |
|
|
|
|
|
|
|
|
|
const global = {}; |
|
|
|
@ -182,12 +180,11 @@ Page({
|
|
|
|
|
if (res && res.data && res.data.length > 0) { |
|
|
|
|
if (res.data[0].centerPoint) { |
|
|
|
|
let centerPoint = res.data[0].centerPoint; |
|
|
|
|
let point = WKT.parse(centerPoint); |
|
|
|
|
this.setData({ |
|
|
|
|
latitude: point.coordinates[1], |
|
|
|
|
longitude: point.coordinates[0], |
|
|
|
|
latitude: centerPoint[0], |
|
|
|
|
longitude: centerPoint[1], |
|
|
|
|
}) |
|
|
|
|
this.setWKT1(res, 2) |
|
|
|
|
gisUtil.setWKT(this, res, 2) |
|
|
|
|
this.addFeaturesToList(res, 2); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -231,11 +228,11 @@ Page({
|
|
|
|
|
}); |
|
|
|
|
global.selectFeature = feature; |
|
|
|
|
//tid 代表地块类型,1:已出让,2:挂牌中;3:拟挂牌。
|
|
|
|
|
let tid = feature.tid; //tid:1,2,3
|
|
|
|
|
let tid = feature.id; //tid:1,2,3
|
|
|
|
|
//属性property 包含 地块id字段,按需使用。
|
|
|
|
|
let property = feature.properties; |
|
|
|
|
if (tid == 1 || tid == 2) { |
|
|
|
|
$apiT.AJAX('GET', 'applets/landlisted/' + (property.land_listed_id || property.landListedId), true).then(res => { |
|
|
|
|
$apiT.AJAX('GET', 'applets/landlisted/' + (property.landId), true).then(res => { |
|
|
|
|
this.setData({ |
|
|
|
|
type: 'landlisted', |
|
|
|
|
titleLand: res.data.landCode, |
|
|
|
@ -247,7 +244,7 @@ Page({
|
|
|
|
|
}); |
|
|
|
|
}) |
|
|
|
|
} else { |
|
|
|
|
$apiT.AJAX('GET', 'applets/landtolist/' + (property.proposedseria_id || property.proposedseriaId), true).then(res => { |
|
|
|
|
$apiT.AJAX('GET', 'applets/landtolist/' + (property.landId), true).then(res => { |
|
|
|
|
this.setData({ |
|
|
|
|
type: 'landtolist', |
|
|
|
|
titleLand: res.data.landCode, |
|
|
|
@ -619,30 +616,6 @@ Page({
|
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// showCenterLocation(centerPoint) {
|
|
|
|
|
// let id = -1;
|
|
|
|
|
// let {
|
|
|
|
|
// latitude,
|
|
|
|
|
// longitude,
|
|
|
|
|
// } = centerPoint;
|
|
|
|
|
// this.clearPoint(id);
|
|
|
|
|
// let {
|
|
|
|
|
// markers
|
|
|
|
|
// } = this.data
|
|
|
|
|
// let mark = {
|
|
|
|
|
// // iconPath: "../../assets/images/add.png",
|
|
|
|
|
// aid: id,
|
|
|
|
|
// id: id,
|
|
|
|
|
// latitude,
|
|
|
|
|
// longitude,
|
|
|
|
|
// width: 16,
|
|
|
|
|
// height: 24,
|
|
|
|
|
// }
|
|
|
|
|
// markers.push(mark)
|
|
|
|
|
// this.setData({
|
|
|
|
|
// markers: markers
|
|
|
|
|
// })
|
|
|
|
|
// },
|
|
|
|
|
//定位当前
|
|
|
|
|
scaleBack() { |
|
|
|
|
let that = this; |
|
|
|
@ -659,10 +632,6 @@ Page({
|
|
|
|
|
longitude, |
|
|
|
|
}, |
|
|
|
|
}) |
|
|
|
|
// that.showCenterLocation({
|
|
|
|
|
// latitude,
|
|
|
|
|
// longitude
|
|
|
|
|
// })
|
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
@ -726,7 +695,7 @@ Page({
|
|
|
|
|
start: `${start}-01-01`, |
|
|
|
|
end: `${end}-12-31`, |
|
|
|
|
}).then(data => { |
|
|
|
|
that.setWKT(data, id); |
|
|
|
|
gisUtil.setWKT(that, data, id) |
|
|
|
|
that.addFeaturesToList(data, id); |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
@ -738,7 +707,7 @@ Page({
|
|
|
|
|
lon: res.longitude, |
|
|
|
|
lat: res.latitude |
|
|
|
|
}).then(data => { |
|
|
|
|
that.setWKT(data, id); |
|
|
|
|
gisUtil.setWKT(that, data, id) |
|
|
|
|
that.addFeaturesToList(data, id); |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
@ -750,34 +719,23 @@ Page({
|
|
|
|
|
lon: res.longitude, |
|
|
|
|
lat: res.latitude |
|
|
|
|
}).then(data => { |
|
|
|
|
that.setWKT(data, id); |
|
|
|
|
gisUtil.setWKT(that, data, id) |
|
|
|
|
that.addFeaturesToList(data, id); |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
addFeaturesToList(data, tid) { |
|
|
|
|
let key = 'key' + tid; |
|
|
|
|
if (data && data.data && data.data.length > 0) { |
|
|
|
|
let features = data.data.map(item => { |
|
|
|
|
let geomPoints = WKT.parse(item.geoms || item.geom).coordinates; |
|
|
|
|
let properties = item; |
|
|
|
|
properties.tid = tid; //类型
|
|
|
|
|
let polygon = { |
|
|
|
|
key, |
|
|
|
|
tid, |
|
|
|
|
properties, |
|
|
|
|
type: "Feature", |
|
|
|
|
geometry: { |
|
|
|
|
type: "Polygon", |
|
|
|
|
coordinates: geomPoints |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return polygon; |
|
|
|
|
return item.feature; |
|
|
|
|
}); |
|
|
|
|
if (global.features[key] && global.features[key].length > 0) { |
|
|
|
|
global.features[key] = global.features[key].concat(features) |
|
|
|
|
} else { |
|
|
|
|
global.features[key] = features; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
removeFeaturesToList(tid) { |
|
|
|
|
let key = 'key' + tid; |
|
|
|
@ -802,7 +760,7 @@ Page({
|
|
|
|
|
} |
|
|
|
|
for (let i = 0; i < features.length; i++) { |
|
|
|
|
let feature = features[i]; |
|
|
|
|
let hitTest = gisUtil.isPointInPolygon(y, x, feature.geometry.coordinates[0]); |
|
|
|
|
let hitTest = gisUtil.isPointInPolygon(y, x, feature.coordinates); |
|
|
|
|
if (hitTest) { |
|
|
|
|
selectList.push(feature); |
|
|
|
|
if (selectList.length >= maxCount) { |
|
|
|
@ -812,12 +770,6 @@ Page({
|
|
|
|
|
} |
|
|
|
|
return selectList |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
// MORE地块
|
|
|
|
|
getMoreInfo(res, id) { |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
// 配套
|
|
|
|
|
getComplete(res, id) { |
|
|
|
|
const that = this; |
|
|
|
@ -829,7 +781,6 @@ Page({
|
|
|
|
|
that.setPoint(data, id, iconPath); |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
// 环线数据
|
|
|
|
|
getLoop(res, id) { |
|
|
|
|
const that = this; |
|
|
|
@ -837,7 +788,7 @@ Page({
|
|
|
|
|
lon: res.longitude, |
|
|
|
|
lat: res.latitude |
|
|
|
|
}).then(data => { |
|
|
|
|
that.setWKT(data, id); |
|
|
|
|
gisUtil.setWKT(that, data, id) |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
@ -848,7 +799,7 @@ Page({
|
|
|
|
|
lon: res.longitude, |
|
|
|
|
lat: res.latitude |
|
|
|
|
}).then(data => { |
|
|
|
|
that.setWKT(data, id); |
|
|
|
|
gisUtil.setWKT(that, data, id) |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
@ -860,7 +811,7 @@ Page({
|
|
|
|
|
lat: res.latitude, |
|
|
|
|
type |
|
|
|
|
}).then(data => { |
|
|
|
|
that.setWKT(data, id); |
|
|
|
|
gisUtil.setWKT(that, data, id) |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
bindupdated(e) { |
|
|
|
@ -869,112 +820,6 @@ Page({
|
|
|
|
|
console.log("渲染耗时====》" + time); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 地块数据解析
|
|
|
|
|
setWKT(data, id) { |
|
|
|
|
let { |
|
|
|
|
polygons |
|
|
|
|
} = this.data; |
|
|
|
|
let newPolygons = data.data.filter(item => { |
|
|
|
|
return item.geoms || item.geom; |
|
|
|
|
}).map(item => { |
|
|
|
|
let geomPoints = WKT.parse(item.geoms || item.geom); |
|
|
|
|
let points = []; |
|
|
|
|
geomPoints.coordinates[0].forEach(ele => { |
|
|
|
|
if (typeof (ele[0]) === 'number') { |
|
|
|
|
points.push({ |
|
|
|
|
longitude: ele[0], |
|
|
|
|
latitude: ele[1] |
|
|
|
|
}) |
|
|
|
|
} else { |
|
|
|
|
points = ele.map(once => { |
|
|
|
|
let lonlat = { |
|
|
|
|
longitude: once[0], |
|
|
|
|
latitude: once[1] |
|
|
|
|
} |
|
|
|
|
return lonlat |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
let strokeColor; |
|
|
|
|
let fillColor; |
|
|
|
|
if (item.line_color) { |
|
|
|
|
strokeColor = '' + item.line_color + util.ten2XO(item.line_opaqueness); |
|
|
|
|
} |
|
|
|
|
let strokeWidth = item.line_width ? Number(item.line_width) : 2; |
|
|
|
|
if (item.fill_color) { |
|
|
|
|
fillColor = '' + item.fill_color + util.ten2XO(item.fill_opaqueness); |
|
|
|
|
} |
|
|
|
|
let polygon = { |
|
|
|
|
points, |
|
|
|
|
strokeColor, |
|
|
|
|
strokeWidth, |
|
|
|
|
fillColor, |
|
|
|
|
zIndex: 1, |
|
|
|
|
id |
|
|
|
|
} |
|
|
|
|
return polygon |
|
|
|
|
}); |
|
|
|
|
let length = newPolygons.length>0&&newPolygons.map(item => { |
|
|
|
|
return item.points.length |
|
|
|
|
}).reduce((a, b) => { |
|
|
|
|
return a + b; |
|
|
|
|
}) |
|
|
|
|
console.log(length); |
|
|
|
|
this.setData({ |
|
|
|
|
polygons: polygons.concat(newPolygons) |
|
|
|
|
}) |
|
|
|
|
start = new Date().getTime(); |
|
|
|
|
}, |
|
|
|
|
//复制了一份,因为参数问题
|
|
|
|
|
setWKT1(data, id) { |
|
|
|
|
let { |
|
|
|
|
polygons |
|
|
|
|
} = this.data; |
|
|
|
|
let newPolygons = data.data.filter(item => { |
|
|
|
|
return item.geoms || item.geom; |
|
|
|
|
}).map(item => { |
|
|
|
|
let geomPoints = WKT.parse(item.geoms || item.geom); |
|
|
|
|
let points = []; |
|
|
|
|
geomPoints.coordinates[0].forEach(ele => { |
|
|
|
|
if (typeof (ele[0]) === 'number') { |
|
|
|
|
points.push({ |
|
|
|
|
longitude: ele[0], |
|
|
|
|
latitude: ele[1] |
|
|
|
|
}) |
|
|
|
|
} else { |
|
|
|
|
points = ele.map(once => { |
|
|
|
|
let lonlat = { |
|
|
|
|
longitude: once[0], |
|
|
|
|
latitude: once[1] |
|
|
|
|
} |
|
|
|
|
return lonlat |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
let strokeColor; |
|
|
|
|
let fillColor; |
|
|
|
|
if (item.lineColor) { |
|
|
|
|
strokeColor = '' + item.lineColor + util.ten2XO(item.lineOpaqueness); |
|
|
|
|
} |
|
|
|
|
let strokeWidth = item.lineWidth ? Number(item.lineWidth) : 2; |
|
|
|
|
if (item.fillColor) { |
|
|
|
|
fillColor = '' + item.fillColor + util.ten2XO(item.fillOpaqueness); |
|
|
|
|
} |
|
|
|
|
let polygon = { |
|
|
|
|
points, |
|
|
|
|
strokeColor, |
|
|
|
|
strokeWidth, |
|
|
|
|
fillColor, |
|
|
|
|
zIndex: 1, |
|
|
|
|
id |
|
|
|
|
} |
|
|
|
|
return polygon |
|
|
|
|
}); |
|
|
|
|
this.setData({ |
|
|
|
|
polygons: polygons.concat(newPolygons) |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
bindAddressChange(e) { |
|
|
|
|
let city = this.data.cityList[e.detail.value] |
|
|
|
|
wx.setStorageSync('city', city) |
|
|
|
@ -1034,7 +879,6 @@ Page({
|
|
|
|
|
start: arryList[sIdx].value, |
|
|
|
|
end: arryList[eIdx].value, |
|
|
|
|
}) |
|
|
|
|
// this.scaleBack();
|
|
|
|
|
}, |
|
|
|
|
/** |
|
|
|
|
* 生命周期函数--监听页面显示 |
|
|
|
@ -1060,7 +904,7 @@ Page({
|
|
|
|
|
path: 'pages/look/look', // 路径,传递参数到指定页面。
|
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
onShareTimeline(){ |
|
|
|
|
onShareTimeline() { |
|
|
|
|
return { |
|
|
|
|
title: '艾儿数据', |
|
|
|
|
path: 'pages/look/look', // 路径,传递参数到指定页面。
|
|
|
|
|