From 8ac3a87733b421c1f1cb3b691f946c05bdae02df Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Fri, 06 Jul 2018 13:54:14 +0800 Subject: [PATCH] 设备,监控点维护 完善 --- src/app/routes/map/coordinates-picker/coordinates-picker.component.ts | 70 +++++++++++++++++++++++++++++------ 1 files changed, 58 insertions(+), 12 deletions(-) diff --git a/src/app/routes/map/coordinates-picker/coordinates-picker.component.ts b/src/app/routes/map/coordinates-picker/coordinates-picker.component.ts index 726a069..1a787bd 100644 --- a/src/app/routes/map/coordinates-picker/coordinates-picker.component.ts +++ b/src/app/routes/map/coordinates-picker/coordinates-picker.component.ts @@ -16,6 +16,7 @@ export class CoordinatesPickerComponent implements OnInit { Default_LNG = 121; Default_LAT = 31.4; + showZoom = 19; isSaving = false; markerOption: { point: Point, @@ -35,19 +36,19 @@ ngOnInit(): void { this.data = this.coorPickerService.data; let lng = this.data.longitude; - lng = lng === 0 || lng == null ? this.Default_LNG : lng; + lng = !lng ? this.Default_LNG : lng; this.data.longitude = lng; let lat = this.data.latitude; - lat = lat === 0 || lat == null ? this.Default_LAT : lat; + lat = !lat ? this.Default_LAT : lat; this.data.latitude = lat; this.options = { minZoom: 3, maxZoom: 19, cursor: 'default', - centerAndZoom: { - lng: lng, - lat: lat, - zoom: 19 + centerAndZoom: { + lng: this.data.longitude, + lat: this.data.latitude, + zoom: this.showZoom }, enableKeyboard: true }; @@ -98,14 +99,59 @@ && this.data.longitude === this.Default_LNG && !!this.data.address && !!this.data.address.trim()) { - this._localSearch.search(this.data.address); + this.mapSearch(this.data.address); } } - queryTest: string; - mapSearch(param: any) { - let text = this.queryTest; - text = text == null || text.trim() === '' ? '���������' : text; - this._localSearch.search(text); + city: string; + // queryText: string; + mapSearch(queryText: string, isSearch?: boolean) { + + if (!!queryText && !!queryText.trim()) { + this.city = !!this.city ? this.city : '���������'; + const end = queryText.indexOf('���') + 1; + if (end > 0) { + let start = queryText.indexOf('���') + 1; + start = start > 0 ? start : queryText.indexOf('���') + 1; + start = start > end ? 0 : start; + if (start < end) { + this.city = queryText.slice(start, end).trim(); + if (!!this.city) { + this._map.setCurrentCity(this.city); + } + } + } + console.log(this.city); + const myGeo = new this._BMap.Geocoder(); + const that = this; + that._map.setCurrentCity(that.city); + myGeo.getPoint(queryText, function(point){ + let getPoint = false; + if (point) { + that.data.latitude = point.lat; + that.data.longitude = point.lng; + getPoint = true; + }else { + console.log('������������������������������������!'); + } + that.markerOption.point = { + lng: that.data.longitude, + lat: that.data.latitude + }; + that.options.centerAndZoom = { + lng: that.data.longitude, + lat: that.data.latitude, + zoom: that.showZoom + }; + // setTimeout(() => { + if (getPoint && !isSearch) { + that._map.centerAndZoom(point, that.showZoom); + + } else { + that._localSearch.search(queryText); + } + // }, 3000); + }, that.city); + } } clickMap(e: any) { this.markerOption.point = { -- Gitblit v1.8.0