百度地图javascript 使用

1 篇文章 0 订阅

百度地图js使用

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="./static/jquery.min.js"></script>
    <title>带检索功能的信息窗口</title>
</head>

<body>

    <div style="width:100%;height:100vh;" id="container" class="map_sy"></div>

</body>

<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=你的密钥"></script>
<script type="text/javascript" src="https://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script>
<link rel="stylesheet" href="https://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css" />
<script>
    //搜索的关键词
    var keyword = '天安门';
    // 百度地图API功能
    var map = new BMap.Map("container");

    map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用
    map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用
    var local = new BMap.LocalSearch(map, {
        //    renderOptions: { map: map }
    });
    console.log(keyword)
    local.search(keyword)
        //搜索回掉
    local.setSearchCompleteCallback(function(searchResult) {
        console.log(searchResult)
        if (local.getStatus() == BMAP_STATUS_SUCCESS) {
            var poi = searchResult.getPoi(0);
            console.log(poi)
            if (poi) {
                lng = poi.point.lng;
                lat = poi.point.lat;
                var point = new BMap.Point(lng, lat);
                map.centerAndZoom(point, 11);
                //自定义信息窗口
                console.log(poi)
                if (poi.phoneNumber) {
                    phoneNumber = poi.phoneNumber
                } else {
                    phoneNumber = ''
                }
                var content = '<div style="margin:0;line-height:20px;padding:2px;">' +
                    '地址:' + poi.address + '<br/>电话:' + phoneNumber + '<br/>' +
                    '</div>';
                setInfo(content, point)


            }
        } else {
            alert("输入的地址错误!");
        }
    });

    function setInfo(content, poi) {
        //创建检索信息窗口对象
        var searchInfoWindow = null;
        searchInfoWindow = new BMapLib.SearchInfoWindow(map, content, {
            title: keyword, //标题
            width: 290, //宽度
            height: 55, //高度
            panel: "panel", //检索结果面板
            enableAutoPan: true, //自动平移
            searchTypes: [
                BMAPLIB_TAB_SEARCH, //周边检索
                BMAPLIB_TAB_TO_HERE, //到这里去
                BMAPLIB_TAB_FROM_HERE //从这里出发
            ]
        });
        var marker = new BMap.Marker(poi); //创建marker对象
        marker.enableDragging(); //marker可拖拽
        searchInfoWindow.open(marker);
        // 点击弹信息窗
        //    marker.addEventListener("click", function(e) {

        //    })
        map.addOverlay(marker); //在地图中添加marker
    }
</script>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值