当前位置: 首页 > wzjs >正文

甘肃省临夏州建设局网站网络推广公司网站

甘肃省临夏州建设局网站,网络推广公司网站,怎么防止网站攻击,网站开发技术 文库目录 效果展示代码引入地图服务地址弹框中输入框 - 支持手动输入经纬度/地图选点按钮地图选点弹框组件 当前文章 - 地图功能与 https://blog.csdn.net/m0_53562074/article/details/143677335 功能类似 效果展示 代码 引入地图服务地址 public/index.html <!-- 互联网地图…

目录

  • 效果展示
  • 代码
    • 引入地图服务地址
    • 弹框中输入框 - 支持手动输入经纬度/地图选点按钮
    • 地图选点弹框组件

当前文章 - 地图功能与 https://blog.csdn.net/m0_53562074/article/details/143677335 功能类似

效果展示

在这里插入图片描述

代码

引入地图服务地址

public/index.html

<!-- 互联网地图 -->
<script src="https://map.qq.com/api/gljs?v=2.exp&key=自己申请的key"></script><!-- 如果有用到编辑器 new TMap.tools.GeometryEditor() ,地图服务地址上查询参数要加 libraries=tools -->
<!-- https://map.qq.com/api/gljs?libraries=tools&v=2.exp&key=自己申请的key -->

弹框中输入框 - 支持手动输入经纬度/地图选点按钮

已删除无关代码,只展示地图选点相关代码

<template><el-dialogv-if="dialogVisible"title="弹框展示选点":visible.sync="dialogVisible":show-close="true"width="700px":close-on-click-modal="false":close-on-press-escape="false":before-close="handleClose"append-to-body><!-- ... --><div class="position"><el-input v-model="formData.position" placeholder="请输入勤务地点" size="mini" /><i class="iconfont ico-dituxuanze" @click="setPosition" /></div><SetPointMap ref="SetPointMapRef" @updatePoint="updatePointHandler" /></el-dialog>
</template><script>
// ...
import SetPointMap from './SetPointMap'export default {name: 'ResultEntry',components: { SetPointMap },data() {return {// /...formData: {position: ''},dialogVisible: false}},methods: {// ...showDetail() {this.dialogVisible = true},setPosition() {const { position } = this.formDataconst arr = position.split(/,|,/)const pointer = {jd: arr[0],wd: arr[1]}this.$refs.SetPointMapRef.open(pointer)},updatePointHandler({ jd, wd }) {this.formData.position = `${jd},${wd}`},handleClose() {// ...// 关闭弹窗this.dialogVisible = false}}
}
</script>
<style lang="scss" scoped>
// ....position {display: flex;.el-input {flex: 1;margin-right: 10px;}.iconfont {cursor: pointer;}
}
</style>

地图选点弹框组件

SetPointMap.vue

<!-- 地图选点 -->
<template><el-drawerv-if="drawerVisible"title="地图标注"size="65%"append-to-body:before-close="handleClose":visible.sync="drawerVisible"><div :id="idName" class="TMap" /></el-drawer>
</template><script>
import { mapGetters } from 'vuex'export default {name: 'SetPointMap',data() {return {drawerVisible: false,idName: 'setPointMap',map: null,multiMarker: null, // 点位图标point: {},clickPoint: {}}},computed: {...mapGetters(['sysConfigData'])},watch: {clickPoint: {handler(val) {if (val.jd) {this.$confirm(`确定标注以下经纬度吗?<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;经度 ${val.jd}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;纬度 ${val.wd}`,'提示',{confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning',dangerouslyUseHTMLString: true}).then((_) => {this.drawerVisible = falsethis.$emit('updatePoint', val)}).catch((_) => {this.$message.info('取消经纬度标注')this.clickPoint = {}})}}}},mounted() {this.initMap()},methods: {open(pointer) {this.drawerVisible = truethis.point = pointer // 保存初始经纬度},initMap() {var location = (this.sysConfigData.map_location || '121.427648,28.661939').split(',')this.map = new TMap.Map(this.idName, {zoom: this.sysConfigData.map_level || 14,center: new TMap.LatLng(Number(location[1]), Number(location[0]))})this.map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ROTATION) // 移除腾讯地图旋转控件this.map.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ZOOM) // 移除腾讯地图缩放控件if (this.point.jd && this.point.wd) {// 将初始经纬度在地图上进行标点this.setPoint({ ...this.point }, true)}this.map.on('click', (e) => {// 点击地图获取经纬度this.removePoint() // 移除已有标点this.clickPoint = {jd: e.latLng.lat,wd: e.latLng.lng}// 点击位置进行标点this.setPoint({ ...this.clickPoint })})},setPoint({ jd, wd }, isSetCenter = false) {isSetCenter && this.map.setCenter(new TMap.LatLng(Number(jd), Number(wd)))this.MultiMarker = new TMap.MultiMarker({id: 'marker-layer',map: this.map,styles: {marker: new TMap.MarkerStyle({width: 25,height: 35,anchor: { x: 16, y: 32 }})},geometries: [{id: 'demo',styleId: 'marker',position: new TMap.LatLng(jd * 1, wd * 1),properties: {title: 'marker'}}]})},removePoint() {this.MultiMarker?.setMap(null)},handleClose(done) {this.$confirm('还有未保存的工作,确定关闭吗?').then((_) => {done()}).catch((_) => {})}}
}
</script><style lang='scss' scoped>
.TMap {width: 100%;height: 100%;
}::v-deep .el-drawer {.el-drawer__body {padding: 0;}
}
</style>
http://www.dtcms.com/wzjs/33602.html

相关文章:

  • 全国免费发布信息网站大全想要网站导航推广页
  • 安徽政府网站建设西安百度百科
  • 网上做兼职老师的正规网站海外seo
  • 游戏的制作方法周口seo
  • 网站上线发布流程seo网站优化公司
  • 桓台响应式网站建设十大洗脑广告
  • 易语言做自动登陆网站百度快照优化公司
  • 阿里巴巴做网站多少钱免费seo营销软件
  • 营销型网站需要备案吗seo关键词分析
  • 垦利网站设计沧浪seo网站优化软件
  • 优秀网站建设方案网站推广的要点
  • 网站开发在线百度联盟官网
  • 百度网盘怎么做网站长沙seo招聘
  • 做企业网站还有市场吗seo外链发布技巧
  • 邢台做网站的那好搜索引擎优化内容包括哪些方面
  • 新建网站怎么做电脑培训学校课程
  • 阿里云模板做网站流程郑州seo博客
  • 公众号开发教程零基础杭州明开seo
  • 互联网加盟泉州网站seo公司
  • 下载黑龙江建设网官网网站营销软文范例
  • 北京网站建设公司服务哪家好今日国内新闻最新消息
  • ftp怎么做网站的备份网站推广app软件
  • 闵行做网站公司凡科小程序
  • 做直播网站需要哪些技术百度趋势搜索
  • 江苏建设厅网站查询怎么做微信小程序
  • 文创产品设计作品深圳seo排名哪家好
  • 区块链网站开发费用短视频营销推广策略
  • jsp网站开发工资独立网站和平台网站
  • 网站app定制建设网站的步骤
  • 深圳网站建设培训电脑培训速成班多少钱