uniapp中搜索地址名获取其经纬度

效果图:

实现代码:

<template>
	<view>
		<block v-if="hasLocation === false">
			未选择位置
		</block>
		<block v-if="hasLocation === true">
				地点:{{locationAddress}}
				<text>\n经度: {{location.longitude[0]}}°{{location.longitude[1]}}′</text>
				<text>\n纬度: {{location.latitude[0]}}°{{location.latitude[1]}}′</text>
		</block>
		<button type="primary" @tap="chooseLocation">选择位置</button>
		<button @tap="clear">清空</button>
	</view>
</template>
<script>
	var util = require('@/common/util.js');
	var formatLocation = util.formatLocation;

	export default {
		data() {
			return {
				hasLocation: false,
				location: {},
				locationAddress: ''
			}
		},
		methods: {
			chooseLocation: function () {
				uni.chooseLocation({
					success: (res) => {
						this.hasLocation = true,
						this.location = formatLocation(res.longitude, res.latitude),
						this.locationAddress = res.address
					}
				})
			},
			clear: function () {
				this.hasLocation = false
			}
		}
	}
</script>

其中,引入的util.js内容如下:


function formatLocation(longitude, latitude) {
	if (typeof longitude === 'string' && typeof latitude === 'string') {
		longitude = parseFloat(longitude)
		latitude = parseFloat(latitude)
	}

	longitude = longitude.toFixed(2)
	latitude = latitude.toFixed(2)

	return {
		longitude: longitude.toString().split('.'),
		latitude: latitude.toString().split('.')
	}
}

module.exports = {
	formatLocation: formatLocation,
}

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值