百度地图的JS开发API应用

百度地图开发平台地址:http://lbsyun.baidu.com/index.php?title=jspopular

在开发移动端网页时,常常会遇到LBS的功能开发,这时利用第三方API是比较方便的。下面对百度地图的JS开发API应用做一些说明。
1.引入相关CSS文件和库文件
JavaScript API v1.4及以前版本无须申请密钥(ak),自v1.5版本开始需要先申请密钥(ak),才可使用,如需获取更高配额,请点击申请认证企业用户。

地址:

http://api.map.baidu.com/api?v=1.4 //参数v表示您加载API的版本,使用JavaScript APIv1.4及以前版本可使用此方式引用。
http://api.map.baidu.com/api?v=2.0&ak=您的密钥 //使用JavaScript APIv2.0请先申请密钥ak,按此方式引用。

<link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css" />

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

<script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script>

2.开始实例化一个BMap.Map

var map = new BMap.Map("allmap");
        map.enableScrollWheelZoom();
        map.addControl(new BMap.NavigationControl());    
        map.addControl(new BMap.ScaleControl());    
        map.addControl(new BMap.OverviewMapControl());    
        map.addControl(new BMap.MapTypeControl()); 
        map.addControl(new BMap.GeolocationControl());
        //  定位功能    
        var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition(function(r){
        if(this.getStatus() == BMAP_STATUS_SUCCESS){
            var myIcon = new BMap.Icon("http://api0.map.bdimg.com/images/markers.png", new BMap.Size(23, 25), {
                    offset: new BMap.Size(23, 25),
                    imageOffset: new BMap.Size(0, - 10 * 25)
                  });

//定位图标
            var mk = new BMap.Marker(r.point,{icon: myIcon});
            map.centerAndZoom(new BMap.Point(r.point.lng,r.point.lat), 14);
            map.addOverlay(mk);
            map.panTo(r.point);

//向地图中添加自定义地点图标方法
 function addMarker(point,index,data){
                    var storeIcon = new BMap.Icon("http://api0.map.bdimg.com/images/markers.png", new BMap.Size(23, 25), {
                    offset: new BMap.Size(23, 25),
                    imageOffset: new BMap.Size(0, - index * 25)
                  });

//创建信息窗口
    var messContent = '<div style="margin:0;line-height:20px;padding:2px;">' +
                    '地址:'+data.address+'<br/>电话:'+data.tel+
                  '</div>';
                    var searchInfoWindow = null;
                    searchInfoWindow = new BMapLib.SearchInfoWindow(map, messContent, {
                            title  : data.name,      //标题
                            width  : 290,             //宽度
                            height : 105,              //高度
                            panel  : "panel",         //检索结果面板
                            enableAutoPan : true,     //自动平移
                            searchTypes   :[
                                BMAPLIB_TAB_SEARCH,   //周边检索
                                BMAPLIB_TAB_TO_HERE,  //到这里去
                                BMAPLIB_TAB_FROM_HERE //从这里出发
                            ]
                        });
                     var marker = new BMap.Marker(point,{icon: storeIcon});

                      marker.addEventListener("click", function(e){
                        searchInfoWindow.open(marker);
                    })

                      map.addOverlay(marker);
}
            // alert('您的位置:'+r.point.lng+','+r.point.lat);
                //区域内关键字搜索并返回面板
//          var local = new BMap.LocalSearch(map, {
//              renderOptions: {map: map, panel: "r-result"}
//          });
            //本地检索
            // local.search("药店");
            //附近检索
//          local.searchNearby("药店", r.point);

//          map.addEventListener('click',callback);

}else {
            alert('failed'+this.getStatus());
        }        
    },{enableHighAccuracy: true})

网页实现效果如下
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值