vue使用百度地图记录

本文档介绍如何在Vue项目中集成并使用百度地图,通过在HTML中引入API并设置AK来实现地图功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<template>
<div class="home_map">
<section>
	<div class="map" id="allmap"></div>
</section>
	<footer>
		<div class="info fb">
			<div class="child">
				<p class="left_text">
				<em>{{streetNumber?streetNumber:''}}</em>
				<span>{{address?address:''}}</span>
				</p>
				<img src="../../../static/imgs/home_map.jpg">
			</div>
		</div>
	</footer>
</div>
</template>
<style scoped lang='scss'>
 @import '../../styles/commonscss.scss';
	.home_map .map{width: 100vw;height:100vh; position: fixed;}
	.home_map .info{width: 100%; height: 5.4rem;padding-top: 0.85rem;z-index: 100; background-color: white;img{width: 2.95rem;height: 2.95rem;}} 
	.home_map .left_text{width: 15.2rem;padding-top:0.3rem; display: inline-block;text-align: center; vertical-align: top; em{margin-bottom: 0.25rem; font-size: 0.8rem;font-weight: bold;display: block;}span{color:$lg;}}
</style>
<script type="text/babel">
import {host,my_log} from '@/config/config'
	export default{
		data(){
			return{
				address:null,
				streetNumber:null
			}
		},
		created:function(){

		},
		mounted:function(){
			this.init()
		},
		methods:{
			init:function(){
				var _this = this
				// 百度地图API功能
	var map = new BMap.Map("allmap");
	var point = new BMap.Point(113.335535,22.99421);
	map.centerAndZoom(point,15);
	var geolocation = new BMap.Geolocation();
	geolocation.getCurrentPosition(function(r){
		if(this.getStatus() == BMAP_STATUS_SUCCESS){
			var mk = new BMap.Marker(point);
			map.addOverlay(mk);
			map.panTo(point);

		var geoc = new BMap.Geocoder();     
		geoc.getLocation(point, (rs)=>{
			var addComp = rs.addressComponents;
			// 所有位置信息都在rs.addressComponents里面,坐标要有标志性的坐标信息才会全
			my_log(rs.addressComponents)
			_this.address = addComp.province + addComp.city + addComp.district  + addComp.street
			_this.streetNumber = addComp.street + addComp.streetNumber
			if(_this.streetNumber == '')
				_this.streetNumber = '获取不到具体位置'
			console.log(_this.streetNumber)
		});  

		}
		else {
			alert('failed'+this.getStatus());
		}        
	},{enableHighAccuracy: true})
	//关于状态码
	//BMAP_STATUS_SUCCESS	检索成功。对应数值“0”。
	//BMAP_STATUS_CITY_LIST	城市列表。对应数值“1”。
	//BMAP_STATUS_UNKNOWN_LOCATION	位置结果未知。对应数值“2”。
	//BMAP_STATUS_UNKNOWN_ROUTE	导航结果未知。对应数值“3”。
	//BMAP_STATUS_INVALID_KEY	非法密钥。对应数值“4”。
	//BMAP_STATUS_INVALID_REQUEST	非法请求。对应数值“5”。
	//BMAP_STATUS_PERMISSION_DENIED	没有权限。对应数值“6”。(自 1.1 新增)
	//BMAP_STATUS_SERVICE_UNAVAILABLE	服务不可用。对应数值“7”。(自 1.1 新增)
	//BMAP_STATUS_TIMEOUT	超时。对应数值“8”。(自 1.1 新增)      
			}
		}
	}
</script>

最后在html引入ak在百度地图开放平台获取

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=EVEOIF80XN5tuPoetNZOFxNHlTKUgNVs"></script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值