百度地图

百度地图:

初始化:

注册开发者账号http://lbsyun.baidu.com/apiconsole/key#/home

用标签导入百度地图:


<scripttype="text/javascript"src="//api.map.baidu.com/apiv=3.0&ak=您的密匙"></script>

准备一个div标签 用来存放加载后的百度地图:

<div id="container"></div>

再创建一个标签用来书写:

创建百度地图:

var map = new BMap.Map("container");

控制地图的插件:

滚轮缩放 true或false:

map.enableScrollWheelZoom(true);

地图导航(位于左上角,可点击上面的图标进行放大缩小,可选择街、市、省、国四种):

map.addControl(new BMap.NavigationControl());

缩放控制:

map.addControl(new BMap.ScaleControl());

橄榄图(位于右下角一个小箭头,):

map.addControl(new BMap.OverviewMapControl());

地图类型(位于右上角,可切换地图、卫星、三维三种地图类型):

map.addControl(new BMap.MapTypeControl());

覆盖类:

创建点:

var point = new BMap.Point(113.654,34,784);  //创建点的坐标 数字为经纬度

var marker = new BMap.Marker(point);  //创建一个标注点

map.addOverlay(marker)  //把创建的标注点添加到地图中

创建一个标注点:

let icon = new BMap.Icon(

"图片的url地址", //图片的地址

new BMap.Size(36,42), //显示图片的大小

{imageSize:new BMap.Size(36,42),anchor: new BMap.Size(18,42)},

// 把原始图片缩小为36,42,偏移底部中心 (默认是左上角)

)

  var marker = new BMap.Marker(point,{icon:icon});	//把小图标也添加到标注点

创建圆:

var circle = new BMap.Circle(

point,// 圆圈中心点 把圆的中心点设置为点,

500,//半径

{strokeColor:"blue",strokeWeight:2,fillOpacity:0.4}

                //圆边框的颜色    //              //内容区域的透明度(0-1)1为不透明

);

/*添加圆到地图中*/  map.addOverlay(marker);

创建多边形:

var polygon = new BMap.Polygon([

//多边形的开始

new BMap.Point(113.66472152529185,34.78609747393126),

new BMap.Point(113.66772186569519,34.78603076963989),

new BMap.Point(113.66766796736458,34.782999372726685),

new BMap.Point(113.66178406627422,34.78423714494914),

new BMap.Point(113.66473949140206,34.78453361455538),

//多边形的结束

new BMap.Point(113.66472152529185,34.78609747393126)

//多边形的开始与结束经纬度是一致的。这样保证多边形能完整闭合,中间的可	 

//随意变换(可添加多个),一般用来标注一个特殊的区域

],

{strokeColor:"orange",  //多边形边缘(边框)的颜色

      strokeWeight:2,       

      fillColor:"blue",      //多边形内容的颜色

      fillOpacity:0.3}      //内容区域的透明度(0-1) 1为不透明

);

/*添加多边形到地图中 */  map.addOverlay(polygon)

事件:

添加事件:

map.addEventListener("click",e=>{

console.log(e.point,e)

})    //单击点的经纬度

信息窗口:

创建信息窗口:

var info = new BMap.InfoWindow(

//使用字符串模板 ``

`<div class="info">

        <h1>content内容</h1>

</div>`,

{title:"标题"}

) 

搜索:

在body里创建一个input标签,添加onblur事件 并绑定searcH函数

<input type="text" onblur="searcH(this.value)"/>

在script里创建搜索:

var local = new BMap.LocalSearch(map,{

renderOptions:{map:map}

})

定义searcH函数:

function searcH(v){

local.search(v);

}  //onblur事件触发后触发该函数,获取value值,

导航:

创建导航:

var driving = new BMap.DrivingRoute(map,{

renderOptions:{map:map,autoViewport:true}

})

  //可定义不同的路线规划方式:

    //  驾车  DrivingRoute

    //  公交  TransitRoute

    //  步行  WalkingRoute

    //  骑行  RidingRoute

创建一个点 通过onClick触发:

map.addEventListener("click",e=>{

//单击后,获取形参e的经纬度,赋值给end

end = new BMap.Point(e.point.lng,e.point.lat)

var marker2 = new BMap.Marker(end)

//把marker2添加到地图中

map.addOverlay(marker2);

//从point开始  到end结束

driving.search(point,end)

})

执行导航:

driving.search(point,end)  //搜索路径

API:

通过给请求api服务器地址,返回对应的数据

ip获取城市名称:

$(function(){

$.ajax({

url:"http://api.map.baidu.com/location/ip?ak=YGQiWbeL4ZMLuPhZEI1icfnnkwLHT69S&coor=bd09ll&output=jsonp",

dataType:"jsonp",

success(res){

console.log(res)

        $("#container").html(res.content.address)

}

})

})  //向url发起请求,使用jsonp类型, 触发成功回调函数
  • 28
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 36
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值