From d6833c760d1f00082555bbe55feb05b41e761e6c Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Mon, 13 Nov 2023 10:41:15 +0800
Subject: [PATCH] fix:责任单位维护
---
src/components/map/pickCoordinate1.vue | 196 +++++++++++++++++++++++-------------------------
1 files changed, 95 insertions(+), 101 deletions(-)
diff --git a/src/components/map/pickCoordinate1.vue b/src/components/map/pickCoordinate1.vue
index 8016aba..255a951 100644
--- a/src/components/map/pickCoordinate1.vue
+++ b/src/components/map/pickCoordinate1.vue
@@ -1,22 +1,15 @@
<template>
- <a-modal
- title="������������"
- destroyOnClose
- :visible="true"
- @ok="addLonAndLat"
- @cancel="handleMapCancel"
- okText="������"
- class="modalStyle"
- >
+ <a-modal title="������������" destroyOnClose :visible="true" @ok="addLonAndLat" @cancel="handleMapCancel" okText="������"
+ class="modalStyle">
<div>
<div style="display: flex">
<div style="display: flex; width: 300px">
<div>���������</div>
- <a-input
+ <!-- <a-input
placeholder="���������������"
id="tipinput"
style="width: 160px; height: 26px"
- ></a-input>
+ ></a-input> -->
<!-- <a-input
v-model="input"
placeholder="���������������"
@@ -24,6 +17,15 @@
style="width: 160px; height: 26px"
@change="searchMap"
></a-input> -->
+ <input v-model="input" id="tipinput" /><button @click="searchAddress" style="
+ background-color: #1890ff;
+ color: white;
+ border: none;
+ margin-left: 5px;
+ ">
+ ������
+ </button>
+ <div id="panel"></div>
<!-- <a-button
size="small"
type="primary"
@@ -40,34 +42,19 @@
<!-- <a-input style="width: 160px; height: 26px" @focus="selectPoi" /> -->
</div>
<div>
- <span style="margin-left: 25px">���������</span
- ><a-input
- v-model="clickPoint[0]"
- style="display: inline; width: 160px; height: 26px"
- />
+ <span style="margin-left: 25px">���������</span><a-input v-model="clickPoint[0]"
+ style="display: inline; width: 160px; height: 26px" />
</div>
<div>
- <span style="margin-left: 25px">���������</span
- ><a-input
- v-model="clickPoint[1]"
- style="display: inline; width: 160px; height: 26px"
- />
+ <span style="margin-left: 25px">���������</span><a-input v-model="clickPoint[1]"
+ style="display: inline; width: 160px; height: 26px" />
</div>
</div>
- <el-amap
- ref="map"
- :center="clickPoint"
- :events="{ click: mapClick }"
- :zoom="zoom"
- :scroll-wheel-zoom="true"
- style="height: 400px; width: 100%; margin-top: 20px"
- >
- <el-amap-marker
- :position="clickPoint"
- animation="AMAP_ANIMATION_BOUNCE"
- :dragging="true"
- ></el-amap-marker>
+ <el-amap ref="map" :center="clickPoint" :events="{ click: mapClick }" :zoom="zoom" :scroll-wheel-zoom="true"
+ style="height: 400px; width: 100%; margin-top: 20px" id="amap">
+ <el-amap-marker :position="clickPoint" animation="AMAP_ANIMATION_BOUNCE" :dragging="true"></el-amap-marker>
</el-amap>
+
<!-- :scroll-wheel-zoom="true"-->
<!-- <baidu-map
:center="center"
@@ -104,14 +91,16 @@
} from 'vue-property-decorator';
import any = jasmine.any;
import { get, post } from "@/util/request";
+import $ from 'jquery'
+import func from 'vue-temp/vue-editor-bridge';
@Component({
})
export default class PickCoordinate extends Vue {
private center: any = [
- 120.726838,
- 31.3421
+ 120.726838,
+ 31.3421
]
@Prop({
type: String,
@@ -127,18 +116,18 @@
private keyword: string = ''
private zoom = 19
- private searchOption:any={
- city: '������',
- citylimit: false
+ private searchOption: any = {
+ city: '������',
+ citylimit: false
}
- @Watch('clickPoint', {deep: true, immediate: true},)
+ @Watch('clickPoint', { deep: true, immediate: true },)
private monitorMapFlag(newVal: any, oldVal: any) {
- console.log(newVal,'newVal');
- this.center= [newVal.lng,newVal.lat]
+ console.log(newVal, 'newVal');
+ this.center = [newVal.lng, newVal.lat]
}
- private num1:any=1
+ private num1: any = 1
- @Watch('lnglat', {deep: true, immediate: true})
+ @Watch('lnglat', { deep: true, immediate: true })
private lnglatWatch(newVal: any, oldVal: any) {
console.log('------------');
console.log(newVal);
@@ -146,68 +135,57 @@
// this.center.lat = newVal.lat
}
private created() {
- console.log(this.clickPoint,'clickPoint');
+ // console.log(this.clickPoint,'clickPoint');
}
- // ���������������
- // private handler({BMap, map}) {
- // this.center.lng = this.typeOperation === 'add' ? '120.726838' : this.lnglat.split(',')[1]
- // this.center.lat = this.typeOperation === 'add' ? '31.3421' : this.lnglat.split(',')[0]
- // this.zoom = 19
+ private input: any = ''
+ private mark: any = ''
- // }
- private selectPoi(e){
- console.log(e);
- let poi = e
- if (poi.length > 0) {
- this.clickPoint = [poi[0].lng, poi[0].lat]
- }
- }
- private input:any=''
- private mark:any=''
- private searchMap(){
- var autoOptions = {
- input: "tipinput"
- };
- var auto = new AMap.AutoComplete(autoOptions);
- const placeSearch = new AMap.PlaceSearch(this.input);
- console.log(window);
- auto.on("select", select);//������������������������������������������������
- function select(e) {
- console.log(e.poi.adcode);
- placeSearch.setCity(e.poi.adcode);
- placeSearch.search(e.poi.name); //���������������������
- }
-
- // ���������������
- // console.log(this.input);
- // placeSearch.search(this.input, (status, result) => {
- // // ������������������result������������������POI������
-
- // console.log(result);//���������������������������������������������������������������������������
- // });
- // // ������������������������
- // AMap.event.addListener(placeSearch, "selectChanged", (SelectChangeEvent) => {
- // // ������������������������������������������
- // this.mark = SelectChangeEvent.selected.data;
- // console.log(SelectChangeEvent.selected.data,'������');
- // });
-
+ private searchAddress() {
+ var map = new AMap.Map("amap", {
+ resizeEnable: true
+ });
+ var placeSearch = new AMap.PlaceSearch({
+ pageSize: 5, // ������������������������
+ pageIndex: 1, // ������
+ city: "������", // ���������������
+ citylimit: false, //���������������������������������������������
+ panel: "panel", // ���������������������������������������������
+ map: map, // ���������������������������
+ autoFitView: true // ������������������������������������������ Marker���������������������������������
+ });
+ //���������������
+ placeSearch.search(this.input)
+ var salf = this
+ var markerone = 0
+ map.on('click', click);
+ function click(e) {
+ if (markerone === 1) {
+ map.remove(map.Marker)
+ }
+ salf.mapClick(e)
+ map.Marker = new AMap.Marker({
+ map: map,
+ position: salf.clickPoint,
+ animation: "AMAP_ANIMATION_BOUNCE"
+ })
+ markerone = 1
+ }
}
// ���������������������������
- private clickPoint: any = this.lnglat === '' ? [
- 120.720262,
- 31.335757
- ] : [
- this.lnglat.split(',')[1],
- this.lnglat.split(',')[0]
+ private clickPoint: any = this.lnglat === '' ? [
+ 120.720262,
+ 31.335757
+ ] : [
+ this.lnglat.split(',')[1],
+ this.lnglat.split(',')[0]
]
private mapClick(e: any) {
- const { lng, lat } = e.lnglat
- this.clickPoint=[ lng, lat]
- this.$forceUpdate()
- // console.log(this.clickPoint);
+ // console.log(e);
+ const { lng, lat } = e.lnglat
+ this.clickPoint = [lng, lat]
+ console.log(this.clickPoint);
}
private handleMapCancel() {
@@ -233,13 +211,13 @@
@Emit('sendLonLat')
private sendLonLat(lonLat: any) {
- console.log(lonLat,'jia');
+ console.log(lonLat, 'jia');
return lonLat;
}
@Emit('editLonLat')
private editLonLat(lonLat: any) {
- console.log(lonLat,'gai');
+ console.log(lonLat, 'gai');
return lonLat;
}
}
@@ -250,27 +228,43 @@
.ant-modal {
margin-left: 25%;
}
+
.ant-modal-content {
width: 800px;
}
}
+
.BMap_cpyCtrl,
.anchorBL {
display: none;
}
+
/* ���������������������logo */
/deep/.amap-logo {
display: none;
opacity: 0 !important;
}
+
/deep/.amap-copyright {
opacity: 0;
}
+
.amap-sug-result {
position: absolute;
- z-index: 9999 !important;;
+ z-index: 9999 !important;
background-color: #fefefe;
border: 1px solid #d1d1d1;
bottom: auto;
}
+
+#panel {
+ z-index: 999;
+ position: absolute;
+ background-color: white;
+ max-height: 100%;
+ overflow-y: auto;
+ left: 25px;
+ width: 280px;
+ top: 126px;
+}
</style>
--
Gitblit v1.8.0