百度地图的基本使用

使用

在使用前需要在百度地图开放平台进行注册 https://lbsyun.baidu.com/
在这里插入图片描述
注册完后进入控制台创建应用,并复制密钥,就可在页面引入

实现地图

1.先书写html内容,创建一个地图盒子
2.引入百度地图API文件

<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=您的密钥"></script>

3.初始化地图逻辑
首先创建地图实例,之后用一个Point坐标点和缩放级别来初始化地图

var map = new BMapGL.Map("container");          // 创建地图实例 
var point = new BMapGL.Point(116.404, 39.915);  // 创建点坐标 
map.centerAndZoom(point, 15);                 // 初始化地图,设置中心点坐标和地图级别

4.开启鼠标滚轮缩放

map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放,默认为false

5.运行
在这里插入图片描述

功能实现

1.设置地图的旋转角度和倾斜角度

map.setHeading(64.5);   //设置地图旋转角度
map.setTilt(73);       //设置地图的倾斜角度
// 禁止地图旋转和倾斜可以通过配置项进行设置
var map = new BMapGL.Map("allmap",{
    enableRotate: false,
    enableTilt: false
});

2.添加控件

var scaleCtrl = new BMapGL.ScaleControl();  // 添加比例尺控件
map.addControl(scaleCtrl);
var zoomCtrl = new BMapGL.ZoomControl();  // 添加缩放控件
map.addControl(zoomCtrl);
var cityCtrl = new BMapGL.CityListControl();  // 添加城市列表控件
map.addControl(cityCtrl);

调节控件出现的位置、添加与移除

var opts = {
    offset: new BMapGL.Size(150, 5)
}
// 添加控件
map.addControl(new BMapGL.ScaleControl(opts));
// 移除控件
map.removeControl(new BMapGL.ScaleControl(opts));

3.事件处理
监听事件
addEventListener方法有两个参数:监听的事件名称和事件触发时调用的函数。

map.addEventListener('click', function(e) {
        alert('e')
});

获取点击的经纬度

map.addEventListener('click', function(e) {
    var mercator = map.lnglatToMercator(e.latlng.lng, e.latlng.lat);
});

移除事件
可以通过removeEventListener方法移除对事件的监听。
4.覆盖物
添加标记点

var point = new BMapGL.Point(116.404, 39.915);   
var marker = new BMapGL.Marker(point);        // 创建标注   
map.addOverlay(marker);                     // 将标注添加到地图中

添加线

var line = [];
var polyline = new BMapGL.Polyline(line, {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
map.addOverlay(polyline);
// strokeColor代表线的颜色
// strokeWeightr代表线的宽度
// strokeOpacity代表线的透明度

添加面

var polygon = new BMapGL.Polygon(line, {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
map.addOverlay(polygon);

添加文本标记

var point = new BMapGL.Point(116.404, 39.915);
var label = new BMapGL.Label("bbbbbb",{
	position:point,
	offset:new BMapGL.Size(0,0)
})
map.addOverlay(label);
label.setStyle({// 修改样式
	color:'#000',
	fontSize:'24px',
	border:'1px solid #000'
})

信息窗口

var opts = {
    width: 250,     // 信息窗口宽度
    height: 100,    // 信息窗口高度
    title: "Hello"  // 信息窗口标题
}
var infoWindow = new BMapGL.InfoWindow("World", opts);  // 创建信息窗口对象
map.openInfoWindow(infoWindow, map.getCenter());        // 打开信息窗口

5.搜索功能

<input type="" value="" onchange="search(this)">// 绑定事件


var map = new BMapGL.Map("container");          // 创建地图实例 
var point = new BMapGL.Point(113.665,34.784);  // 创建点坐标 
map.centerAndZoom(point, 15); 
map.enableScrollWheelZoom(true);
var marker = new BMapGL.Marker(point);
map.addOverlay(marker);
var local = new BMapGL.LocalSearch(map,{
	renderOptions:{map:map}
});
function search(e){
	local.search(e.value)
}

效果如下图
在这里插入图片描述

在vue使用百度地图

1.public/index.js 中引入百度地图 script(密钥的那串网址)

<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=您的密钥"></script>

2.在组件中定义data (使用的变量)

data(){
	return{
		map:null,
		point:null,
		marker:null
	}
}

3.mounted初始化项目
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
想要使用百度地图基本功能,首先需要在 Vue 项目中引入百度地图 JavaScript API。可以在 index.html 中直接引入: ```html <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> ``` 其中,密钥需要在百度地图开放平台申请获得。 接着,在 Vue 组件中可以使用百度地图提供的全局对象 `BMap` 来创建地图实例和添加覆盖物等操作。以下是一个简单的示例: ```html <template> <div id="map"></div> </template> <script> export default { mounted() { // 创建地图实例 const map = new BMap.Map("map") // 设置中心点和缩放级别 const point = new BMap.Point(116.404, 39.915) map.centerAndZoom(point, 15) // 添加标注 const marker = new BMap.Marker(point) map.addOverlay(marker) } } </script> <style> #map { width: 100%; height: 500px; } </style> ``` 在上面的示例中,我们在 `mounted` 钩子函数中创建了地图实例,并在其中设置了地图的中心点和缩放级别。然后使用 `BMap.Marker` 类创建了一个标注,并添加到地图上。 注意,为了让地图显示出来,我们需要在组件的模板中添加一个 `<div>` 元素,并设置其宽度和高度,用于容纳地图。在上面的示例中,我们设置了一个 `id` 为 `map` 的 `<div>` 元素,并在样式中设置了它的宽度为 100%、高度为 500px。 当然,百度地图提供的功能远不止于此,你可以根据自己的需求来使用其他 API,例如搜索、路线规划、地图事件等等。更多详细的使用方法可以参考百度地图 JavaScript API 的官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值