地图默认中心点埋点

This commit is contained in:
aixianling
2021-12-27 10:07:15 +08:00
parent 638a84ca0e
commit 2cb95465e8
3 changed files with 41 additions and 44 deletions

View File

@@ -26,8 +26,7 @@
<img src="./img/build-icon.png" alt=""> 楼栋<br/>列表
</div>
<div class="map-content">
<AiTMap v-if="user.areaId" :areaId="user.areaId" :map.sync="map" :lib.sync="lib" :ops="ops"
:libraries="['service', 'tools']"/>
<AiTMap :map.sync="map" :lib.sync="lib" :ops="ops" :libraries="['service', 'tools']"/>
</div>
<u-popup v-model="showPop" mode="bottom" border-radius="14">
<div class="popup">
@@ -111,7 +110,6 @@ import {mapState} from 'vuex'
export default {
data() {
return {
latLngCenter: {},
ops: {},
lib: null,
map: null,
@@ -133,9 +131,9 @@ export default {
buildPopup: false
}
},
computed: {...mapState(['user'])},
computed: {...mapState(['user', 'config'])},
mounted() {
this.getCenterLatLng().then(points => {
this.getCommunityList().then(points => {
this.getMarkerCluster(points)
})
},
@@ -146,14 +144,6 @@ export default {
this.$dict.load("communityBuildingType")
},
methods: {
getCenterLatLng() {
return this.$http.post(`/app/appdvcpconfig/getCorpLocation`).then(res => {
if (res?.data) {
this.latLngCenter = res.data
return this.getCommunityList()
}
})
},
getCommunityList() {
return this.$http.post('/app/appcommunitybuildinginfo/listByBuilding', null, {
params: {
@@ -178,7 +168,7 @@ export default {
getMarkerCluster(points, count = 0) {
let {lib: TMap, map} = this
if (map) {
map.setCenter(this.latLngCenter)
map.setCenter(this.config.latlng)
let MarkerCluster = new TMap.MarkerCluster({
map, gridSize: 60,
enableDefaultStyle: false, // 关闭默认样式

View File

@@ -34,7 +34,6 @@
</span>
</div>
</div>
</div>
</u-popup>
@@ -62,7 +61,7 @@ export default {
polygons: []
}
},
computed: {...mapState(['user'])},
computed: {...mapState(['user', 'config'])},
created() {
this.$dict.load('girdType', 'girdLevel')
this.areaId = this.user.areaId
@@ -82,7 +81,7 @@ export default {
arr.push(e.points.map(p => [p.lng, p.lat]))
}
})
arr.length>0&&this.renderGridMap(arr)
arr.length > 0 && this.renderGridMap(arr)
}
})
},
@@ -94,33 +93,38 @@ export default {
this.polygons.forEach(e => e.destroy())
this.polygons = []
}
let bounds = []
paths.forEach((path, i) => {
let color = colors[i % colors.length]
let polygon = new TMap.MultiPolygon({
map, styles: {
default: new TMap.PolygonStyle({
showBorder: true,
borderColor: color,
borderWidth: 2,
color: this.$colorUtils.Hex2RGBA(color, 0.1),
borderDashArray: [10, 10]
})
},
geometries: [{paths: path.map(e => new TMap.LatLng(e[1], e[0]))}]
if (paths?.length > 0) {
let bounds = []
paths.forEach((path, i) => {
let color = colors[i % colors.length]
let polygon = new TMap.MultiPolygon({
map, styles: {
default: new TMap.PolygonStyle({
showBorder: true,
borderColor: color,
borderWidth: 2,
color: this.$colorUtils.Hex2RGBA(color, 0.1),
borderDashArray: [10, 10]
})
},
geometries: [{paths: path.map(e => new TMap.LatLng(e[1], e[0]))}]
})
this.polygons.push(polygon)
bounds.push(fitBounds(path.map(e => new TMap.LatLng(e[1], e[0]))))
})
this.polygons.push(polygon)
bounds.push(fitBounds(path.map(e => new TMap.LatLng(e[1], e[0]))))
})
bounds = bounds.reduce((a, b) => {
return fitBounds([
a.getNorthEast(),
a.getSouthWest(),
b.getNorthEast(),
b.getSouthWest(),
]);
});
map.fitBounds(bounds, {padding: 100})
bounds = bounds.reduce((a, b) => {
return fitBounds([
a.getNorthEast(),
a.getSouthWest(),
b.getNorthEast(),
b.getSouthWest(),
]);
});
map.fitBounds(bounds, {padding: 100})
} else {
map.setCenter(this.config.latlng)
}
} else {
if (count < 5) {
setTimeout(() => {

View File

@@ -32,5 +32,8 @@ const app = new Vue({
store,
...App
});
store.dispatch("agentSign").then(config => {
store.commit("getConfig", {...config, latlng: [config.lat, config.lng]})
app.$mount();
})
app.$mount();