百度地图的基本使用

地图实例

1.引入src 添加ak

<script src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=kmFLZ2pDs8Fkk90rHUksNrdtlnM3X8yT"></script>

2.div存放地图(注意设置宽高)

<div class="container"></div>

3.实例化地图

//创建一个地图实例
 var map = new BMapGL.Map("container");
 // 创建一个点
var point = new BMapGL.Point(113.6648, 34.7835);

// 设置缩放与中心点
map.centerAndZoom(point, 17);

地图的控件

 

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

      map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
      map.setMapType(BMAP_EARTH_MAP);      //开启地球模式

 地图的绘制

 点标记

      // 添加一个标记
      var marker = new BMapGL.Marker(point);
      // 将标注添加到地图中
      map.addOverlay(marker);

 多边线

 var polyline = new BMapGL.Polyline(tempList,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5})

圆形

 var circle = new BMapGL.Circle(point,1000,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); //创建圆

 文本标记

内容
  var content = '中国<strong>前端</strong>学习基地';


设置
        var label = new BMapGL.Label(content, {       // 创建文本标注
            position: point,
            offset: new BMapGL.Size(10, 20)
        }) 
 map.addOverlay(label);                        // 将标注添加到地图中


样式
        label.setStyle({                              // 设置label的样式
            color: '#f30',
            fontSize: '12px',
            border: '2px solid #f70'
        })

 信息窗口

信息窗口
 var infoWindow = new BMapGL.InfoWindow("地址:郑州金水区红旗路东三街", opts);  // 创建信息窗口对象 


事件切换
       marker.addEventListener("click", function(){          
            map.openInfoWindow(infoWindow, point); //开启信息窗口
        }); 

事件

  map.addEventListener("dblclick",function(){}  双击

 地图检索

        var local = new BMapGL.LocalSearch(map, {
		renderOptions:{map: map}
        });
                // 执行地图搜索功能
                local.search(text);

 API

1.地点输入提示服务
2.通过ip获取当前所在的城市
3.都是通过jsonp方式实现(添加ak)

 react-bamp

1.安装

npm i react-bmapgl -S


2.引入js(public/index.html)

 <script
      type="text/javascript"
      src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=QmupPlsMvdPcvHhbaPqPRTMC097Nwrwo"
    ></script>


3.引入组件

import {
  Map,
  Marker,
  NavigationControl,
  InfoWindow,
  Polyline,
  Polygon,
  ZoomControl,
} from "react-bmapgl";

Map

 引用获取
ref={ref=>{this.map=ref.map}}
center={{lng: center.lon, lat: center.lat}}
地图中心
zoom="13"
鼠标缩放滚动
enablescrollwheelZoom={true}
鼠标滚动缩放
style={{height:600}}
样式

Marker 

position={{lng,alt}}
icon="start"
icon="end"
图标
onClick={this.showInfo}
事件

 Polyline     绘线

  path={ new window.BMapGL.Point(item.lon, item.lat)}
              strokeColor="#f00"
              strokeWeight={6}

Polygon    多边形

  path={new window.BMapGL.Point(item.lon, item.lat)}
              strokeColor="#f00"
              strokeWeight={1}
              fillColor="#ff0"
              fillOpacity={0.1}


路径,线条颜色,线条出现,填充颜色,填充透明度

ZoomControl     缩放组件

NavigationControl       导航组件 

 infoWindow      信息窗口

ref={(ref) => {this.infoWindow = ref.infoWindow;}
position  位置
title  标题
text  文本内容
打开信息窗口
  this.map.openInfoWindow(this.infoWindow, this.map.getCenter());

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值