欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js 百度地图api

程序员文章站 2022-06-10 10:43:22
...

百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可帮助您在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。

<script type="text/javascript" src="http://api.map.baidu.com/api?"></script>//加载百度地图api的地址
<script type="text/javascript">
    //分割线高度
    var h1 = $('#height1').height();
    var h2 = $('#height').height();
    if (h1 > h2) {
        $('#s_height').height(h1);
    } else {
        $('#s_height').height(h2);
    }


    //地图
    var open_store = (new Function('return ' + $('#open_store').val()))();
    var close_store = (new Function('return ' + $('#close_store').val()))();
    var myIcon = new BMap.Icon('__PUBLIC__/images/icon/logo-x.png', new BMap.Size(65, 57));
    var myIcon_old = new BMap.Icon('__PUBLIC__/images/icon/logo-y.png', new BMap.Size(65, 57));

    // 百度地图API功能	
    var map = new BMap.Map("allmap");
    map.centerAndZoom(new BMap.Point(121.481387,31.235317), 11);

    for (var j = 0; j < close_store.length; j++) {
        var opts = {
            width: 600, // 信息窗口宽度
            height: 120, // 信息窗口高度
            title: close_store[j]['map_title'], // 信息窗口标题
            enableMessage: true//设置允许信息窗发送短息
        };
        var marker = new BMap.Marker(new BMap.Point(close_store[j]['longitude'], close_store[j]['latitude']));  // 创建标注
        var content = close_store[j]['map_address'];
//        map.addOverlay(marker);
        // 将标注添加到地图中
        var point = new BMap.Point(close_store[j]['longitude'], close_store[j]['latitude']);
        var marker1 = new BMap.Marker(point, {icon: myIcon_old}); // 创建标注
        map.addOverlay(marker1);
        addClickHandler(content, marker1, opts);
    }
    for (var j = 0; j < open_store.length; j++) {
        var opts = {
            width: 600, // 信息窗口宽度
            height: 120, // 信息窗口高度
            title: open_store[j]['map_title'], // 信息窗口标题
            enableMessage: true//设置允许信息窗发送短息
        };
        var marker = new BMap.Marker(new BMap.Point(open_store[j]['longitude'], open_store[j]['latitude']));  // 创建标注
        var content = open_store[j]['map_address'];
//        map.addOverlay(marker);               // 将标注添加到地图中
        // 将标注添加到地图中
        var point = new BMap.Point(open_store[j]['longitude'], open_store[j]['latitude']);
        var marker1 = new BMap.Marker(point, {icon: myIcon}); // 创建标注
        map.addOverlay(marker1);
        addClickHandler(content, marker1, opts);
    }
    $('.map_clcik').click(function () {
        var longitude = $(this).attr('longitude');
        var latitude = $(this).attr('latitude');
        map.centerAndZoom(new BMap.Point(longitude, latitude), 23);
        setTimeout(function () {
            map.setZoom(23);
        }, 2000);  //2秒后放大到14级
        map.enableScrollWheelZoom(true);
        $("body").scrollTop(600);
    });
    function addClickHandler(content, marker, opts) {
        marker.addEventListener("mouseover", function (e) {
            openInfo(content, e, opts)
        }
        );
        marker.addEventListener("mouseout", function (e) {
            closeInfo(content, e, opts)
        }
        );
        marker.addEventListener("click", function (e) {
            showInfo(e);
        }
        );

    }
    function openInfo(content, e, opts) {
        var p = e.target;
        var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
        var infoWindow = new BMap.InfoWindow(content, opts);  // 创建信息窗口对象 
        map.openInfoWindow(infoWindow, point); //开启信息窗口
    }
    function closeInfo(content, e, opts) {
        var p = e.target;
        var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
        var infoWindow = new BMap.InfoWindow(content, opts);  // 创建信息窗口对象 
        map.closeInfoWindow(infoWindow, point); //开启信息窗口
    }
    function showInfo(e) {
        var p = e.target;
        map.centerAndZoom(new BMap.Point(p.getPosition().lng, p.getPosition().lat), 23);
        setTimeout(function () {
            map.setZoom(23);
        }, 2000);  //2秒后放大到14级
        map.enableScrollWheelZoom(true);
    }

    //缩放地图
    setTimeout(function () {
        map.setZoom(11);
    }, 2000);  //2秒后放大到14级
    map.enableScrollWheelZoom(true);
</script>


上一篇: HIve面试题

下一篇: Hive面试题