前端vue uni-app百度地图定位组件,显示地图定位,标记点,并显示详细地址

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率低,降低维护成本。

组件化对于任何一个业务场景复杂的前端应用以及经过多次迭代之后的产品来说都是必经之路。组件化要做的不仅仅是表面上看到的模块拆分解耦,其背后还有很多工作来支撑组件化的进行,例如结合业务特性的模块拆分策略、模块间的交互方式和构建系统等等 。

本文给大家介绍的一款组件是:

前端vue uni-app百度地图定位组件,显示地图定位,标记点,并显示详细地址;

 小程序体验地址(已上线):

效果图如下:

06e905927b48617607630b63921ee692.png

代码如下:

# 百度地图定位组件,显示地图定位,标记点,并显示详细地址

#### 使用方法

```使用方法

#安装vue-baidu-map插件

npm install vue-baidu-map --save

<baidu-map class="bm-view" :center="centerPoint" :zoom=10 @ready="handler">

<!-- 百度地图定位点 -->

<bm-marker :position="centerPoint" :dragging="true" @click="infoWindowOpen">

<!-- 百度地图遮罩物 -->

<bm-info-window style="border: none !important; border-radius: 4px !important;" :show="show"

@close="infoWindowClose" @open="infoWindowOpen">

{{mapName}}

</bm-info-window>

</bm-marker>

</baidu-map>

```

#### HTML代码部分

```html

<template>

<view class="content">

<!-- 百度地图组件  @ready: 处理数据刷新 -->

<baidu-map class="bm-view" :center="centerPoint" :zoom=10 @ready="handler">

<!-- 百度地图定位点 -->

<bm-marker :position="centerPoint" :dragging="true" @click="infoWindowOpen">

<!-- 百度地图遮罩物 -->

<bm-info-window style="border: none !important; border-radius: 4px !important;" :show="show"

@close="infoWindowClose" @open="infoWindowOpen">

{{mapName}}

</bm-info-window>

</bm-marker>

</baidu-map>

<view style="height: 20px;"></view>

</view>

</template>

```

#### JS代码 (引入组件 填充数据)

```javascript

<script>

import Vue from 'vue'

// 引入百度地图

import BaiduMap from 'vue-baidu-map'

// 引入百度地图定位瞄点

import {

BmlMarkerClusterer,

} from 'vue-baidu-map'

Vue.use(BaiduMap, {

// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */

ak: 'dEctYrTTeVr76ANfzG7XwYZGPj'

});

export default {

components: {

BmlMarkerClusterer,

},

data() {

return {

centerPoint: {

lng: 113.282202,

lat: 23.13771

},

mapName: '',

show: false

}

},

onLoad() {

},

methods: {

handler({

BMap,

map

}) {

console.log(BMap, map)

this.centerPoint = {

lng: 113.282202,

lat: 23.13771

},

this.mapName = '广东省广州市海珠区阅江西路222号';

console.log('经纬度 = ', this.centerPoint);

},

infoWindowClose() {

this.show = false

},

infoWindowOpen() {

this.show = true

},

}

}

</script>

```

#### CSS

```CSS

<style>

.content {

display: flex;

flex-direction: column;

margin-top: 80rpx;

align-items: center;

justify-content: center;

}

.bm-view {

margin-left: 0%;

width: 100%;

margin-top: 10px;

color: #999999;

height: 90vw;

}

</style>

```

 小程序体验地址(已上线):

阅读全文下载完整代码请关注微信公众号: 前端组件开发

d848d5658a07453c843277846948c608.png

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端组件开发

你的钟意将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值