前端Vue腾讯地图SDK经纬度解析为地址 地址解析为经纬度 可用于定位经纬度地址信息互转

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

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

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

前端Vue腾讯地图SDK Api经纬度解析为地址信息Geocoding 可用于定位经纬度信息解析为地址, 

 广佛站点小程序体验地址(已上线):

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

d848d5658a07453c843277846948c608.png

效果图如下:

format,png

format,png

format,png

# cc-tencentGeocoding

#### 使用方法

```使用方法

// 引入腾讯地图sdk

import qqmapsdk from "../../utils/qqmap-wx-jssdk.min.js";

// 地址反向编码解析地址

geocodingClick(e) {

const QQMapWX = new qqmapsdk({

//腾讯地图  需要用户自己去申请key

key: "SFABZ-WANWW-FISRY-3IGTF-HV7RE-YSFTI"

});

let that = this;

QQMapWX.reverseGeocoder({

location: {

latitude: that.locatonDict.lat,

longitude: that.locatonDict.lng

},

success: function(res) {

console.log('解析地址成功', res);

uni.showModal({

title: "解析地址",

content: "解析地址 = " + JSON.stringify(res)

})

that.addressInfo = JSON.stringify(res);

},

fail: function(res) {

console.log(res);

},

complete: function(res) {

console.log(res);

}

});

},

```

#### HTML代码实现部分

```html

<template>

<view class="content">

<view style="margin-top: 20px;">{{"经度信息 = "  + locatonDict.lng }}</view>

<view style="margin-top: 20px;">{{"纬度信息 = " + locatonDict.lat }}</view>

<!-- 点击按钮 地址反向编码 -->

<button @click="geocodingClick" style="margin: 28px 20px;">解析地址</button>

<!-- 地址信息 -->

<view class="infoView">{{addressInfo}}</view>

</view>

</template>

<script>

// 引入腾讯地图sdk

import qqmapsdk from "../../utils/qqmap-wx-jssdk.min.js";

export default {

data() {

return {

locatonDict: {

lng: 112.2626,

lat: 23.1578

},

addressInfo: ''

}

},

/**

* 生命周期函数--监听页面显示

*/

onShow: function() {

},

methods: {

// 地址反向编码解析地址

geocodingClick(e) {

const QQMapWX = new qqmapsdk({

//腾讯地图  需要用户自己去申请key

key: "SFABZ-WANWW-FISRY-3IGTF-HV7RE-YSFTI"

});

let that = this;

QQMapWX.reverseGeocoder({

location: {

latitude: that.locatonDict.lat,

longitude: that.locatonDict.lng

},

success: function(res) {

console.log('解析地址成功', res);

uni.showModal({

title: "解析地址",

content: "解析地址 = " + JSON.stringify(res)

})

that.addressInfo = JSON.stringify(res);

},

fail: function(res) {

console.log(res);

},

complete: function(res) {

console.log(res);

}

});

},

}

}

</script>

<style>

.content {

display: flex;

flex-direction: column;

justify-content: center;

align-items: center;

width: 100%;

}

.infoView {

width: 88%;

font-size: 13px;

font-family: PingFangSC-Regular, PingFang SC;

font-weight: 400;

color: #333333;

line-height: 20px;

padding: 12px 8px;

background-color: #F6F7F8;

/* 换行 */

white-space: pre-line;

}

</style>

```

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Vue中,可以使用高德地图JavaScript API来实现经纬度转换为中文详细地址的功能。 首先,需要在项目中引入高德地图JavaScript API库文件。可以在index.html文件的<head>标签中添加以下代码: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=YOUR_API_KEY"></script> ``` 其中,YOUR_API_KEY需要替换为自己在高德地图开放平台申请的API Key。 接下来,在Vue组件中,可以使用以下代码实现经纬度转换为中文详细地址: ```javascript mounted() { const geocoder = new AMap.Geocoder({ // 设置地图语言为中文 language: 'zh_cn' }); const lnglat = [经度, 纬度]; // 替换为实际的经纬度值 geocoder.getAddress(lnglat, (status, result) => { if (status === 'complete' && result.info === 'OK') { const address = result.regeocode.formattedAddress; console.log('详细地址:', address); } else { console.log('获取地址失败'); } }); } ``` 上述代码中,通过创建一个AMap.Geocoder对象,并设置地图语言为中文,然后使用getAddress方法将经纬度作为参数传入,回调函数中可以获取到转换后的中文详细地址。 最后,在Vue组件中进行mounted生命周期函数中进行调用即可。执行后,中文详细地址将在控制台中输出。 需要注意的是,这里只是简单示范了如何在Vue使用高德地图API进行经纬度转换,实际应用中可能还需要进行错误处理、引入API Key等操作。 ### 回答2: 要将Vue中的高德经纬度转换为中文详细地址,可以通过使用高德地图JavaScript API来实现。以下是一种可能的方法: 1. 首先,在Vue中安装高德地图JavaScript API。你可以使用npm或yarn来安装相应的包。 2. 在Vue的组件中引入高德地图JavaScript API。可以通过在组件的script标签中添加以下代码来实现: ```javascript import AMapLoader from '@amap/amap-jsapi-loader'; export default { name: 'YourComponent', data() { return { longitude: '经度', //待转换的经度 latitude: '纬度', //待转换的纬度 address: '', //用于存放转换后的详细地址 }; }, methods: { async convertCoordsToAddress() { const AMap = await AMapLoader.load({ key: '你的高德API Key' }); const geocoder = new AMap.Geocoder(); const lnglat = [this.longitude, this.latitude]; geocoder.getAddress(lnglat, (status, result) => { if (status === 'complete' && result.info === 'OK') { this.address = result.regeocode.formattedAddress; } else { throw new Error('无法获取详细地址'); } }); }, }, mounted() { this.convertCoordsToAddress(); }, }; ``` 3. 可以在模板中显示转换后的详细地址。在Vue的模板中添加以下代码: ```html <template> <div> <p>经度:{{ longitude }}</p> <p>纬度:{{ latitude }}</p> <p>详细地址:{{ address }}</p> </div> </template> ``` 这样,当组件启动时,它将自动获取转换后的详细地址,并在模板中显示出来。请确保将`'你的高德API Key'`替换为你已经申请到的高德地图API的密钥。 ### 回答3: 要将高德地图中的经纬度转换为中文详细地址,可以使用Vue结合高德地图的API来实现。 首先,在Vue组件中引入高德地图JavaScript API,并在mounted钩子函数中初始化地图。 然后,在地图的click事件中获取点击位置的经纬度使用高德地图的geocoder服务来进行逆地理编码,将经纬度转换为详细地址。 具体步骤如下: 1. 在Vue组件中引入高德地图JavaScript API,可以通过script标签引入,或使用npm安装并导入。 2. 在mounted钩子函数中初始化地图,可以通过在DOM中创建一个地图容器元素,并使用AMap类提供的方法初始化地图实例。 3. 在地图的click事件中,获取点击位置的经纬度信息,并调用geocoder服务的regeocode方法进行逆地理编码。 4. 在regeocode方法的回调函数中,可以获取到转换后的详细地址信息,可以通过Vue的data属性将地址信息保存起来,以在页面上显示。 实现以上步骤后,点击地图的任意位置,就可以获取到对应的中文详细地址,并在页面显示出来。 需要注意的是,使用高德地图API需要注册开发者账号,并获取到对应的API密钥,并且在代码中使用合适的方式进行鉴权,以便正常调用API服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端组件开发

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

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

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

打赏作者

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

抵扣说明:

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

余额充值