From 137910cf4fc73a3a2787a3a02718f1e1f637c368 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期五, 14 六月 2024 16:01:17 +0800 Subject: [PATCH] bug修改 --- src/views/safetyReview/projectManage/components/mapLocation.vue | 130 ++++++++++++++++++++++++++---------------- 1 files changed, 80 insertions(+), 50 deletions(-) diff --git a/src/views/safetyReview/projectManage/components/mapLocation.vue b/src/views/safetyReview/projectManage/components/mapLocation.vue index 27b8fd2..dcb20b3 100644 --- a/src/views/safetyReview/projectManage/components/mapLocation.vue +++ b/src/views/safetyReview/projectManage/components/mapLocation.vue @@ -1,55 +1,70 @@ <template> - <el-dialog - v-model="state.mapLocationVisible" - append-to-body - :close-on-click-modal="false" - width="75%" - :title="state.title" - > - <div class="mapLocation_head"> - <div> - <el-alert - title="点击地点获取经纬度信息" - type="info" - :closable="false" - > - </el-alert> - </div> - <div class="mapLocation_latlng"> - <span>经度:</span> - <el-input class="mapLocation_latlng_input" id="lng" v-model="state.longitude"></el-input> - </div> - <div class="mapLocation_latlng"> - <span>纬度:</span> - <el-input class="mapLocation_latlng_input" id="lat" v-model="state.latitude"></el-input> - </div> + <el-dialog + v-model="state.mapLocationVisible" + append-to-body + :close-on-click-modal="false" + width="75%" + :title="state.title" + > + <div class="mapLocation_head"> + <div> + <el-alert + title="点击地点获取经纬度信息" + type="info" + :closable="false" + > + </el-alert> + </div> + <div class="mapLocation_latlng"> + <span>经度:</span> + <el-input class="mapLocation_latlng_input" id="lng" v-model="state.longitude"></el-input> + </div> + <div class="mapLocation_latlng"> + <span>纬度:</span> + <el-input class="mapLocation_latlng_input" id="lat" v-model="state.latitude"></el-input> + </div> + </div> + <div class="mapLocation_body"> + <baidu-map class="map" ak="BkZdiHBj9aGrMdVFM48r2njNiMzsekga" v="3.0" type="API" :center="state.center" :zoom="state.zoom" scroll-wheel-zoom @ready="initMap" @click="getPosition"> + <div style="position: absolute;z-index: 999;margin-top: -495px"> + <label>搜索:<input v-model="state.keyword"></label> + <bm-local-search + :keyword="state.keyword" + :auto-viewport="true" + location="新疆" + :pageCapacity="3" + ></bm-local-search> </div> - <div class="mapLocation_body"> - <baidu-map class="map" ak="BkZdiHBj9aGrMdVFM48r2njNiMzsekga" v="3.0" type="API" :center="state.center" :zoom="15" scroll-wheel-zoom @ready="initMap" @click="getPosition"> - <bm-marker :position="{lng: state.longitude, lat: state.latitude}" :dragging="true" animation="BMAP_ANIMATION_BOUNCE"> - <bm-label content="选择地点" :labelStyle="{color: 'red', fontSize : '24px'}" :offset="{width: -35, height: 30}"/> - </bm-marker> - </baidu-map> - </div> - <div align="right" style="margin-top: 10px"> - <el-button @click="state.mapLocationVisible = false">取消</el-button> - <el-button type="primary" @click="submitLatLng()">确认</el-button> - </div> - </el-dialog> + + <bm-marker :position="{lng: state.longitude, lat: state.latitude}" :dragging="true" animation="BMAP_ANIMATION_BOUNCE"> + <bm-label content="选择地点" :labelStyle="{color: 'red', fontSize : '24px'}" :offset="{width: -35, height: 30}"/> + </bm-marker> + + + </baidu-map> + </div> + <div align="right" style="margin-top: 10px"> + <el-button @click="state.mapLocationVisible = false">取消</el-button> + <el-button type="primary" @click="submitLatLng()">确认</el-button> + </div> + </el-dialog> </template> <script setup> import {ref, onMounted, reactive, toRefs, defineComponent,defineExpose,defineEmits} from 'vue'; -import { BaiduMap,BmMarker } from 'vue-baidu-map-3x' +import { BaiduMap,BmMarker,BmLocalSearch } from 'vue-baidu-map-3x' const state = reactive({ title: '', longitude: '', latitude: '', mapLocationVisible: false, + zoom: 7, center: { - lng: '116.404', - lat: '39.915' - } + lng: '116.42585576793277', + lat: '39.88973394962104' + }, + keyword:'', + location: '' }) const emit = defineEmits(['giveLatLng']) @@ -65,8 +80,23 @@ } const openMapLocation=(longitude,latitude)=>{ - state.longitude = longitude - state.latitude = latitude + if(longitude != ""){ + state.longitude = longitude + state.latitude = latitude + state.zoom = 13 + state.center = { + lng: longitude, + lat: latitude + } + }else { + + state.zoom = 7 + state.center = { + lng: '87.61552721758208', + lat: '43.839018284106565' + } + } + state.mapLocationVisible = true } @@ -100,19 +130,19 @@ } } .mapLocation_head{ - width:100%; - height:100px; + width:100%; + height:100px; } .mapLocation_body{ - width:100%; - height:500px + width:100%; + height:500px } .mapLocation_latlng{ - padding-top:10px; - display:inline-block; - margin-right: 20px; + padding-top:10px; + display:inline-block; + margin-right: 20px; } .mapLocation_latlng_input{ - width:250px; + width:250px; } </style> -- Gitblit v1.9.2