百度地图 ( 一 ) 显示地图

1.百度地图

百度地图开放平台 https://lbsyun.baidu.com/

使用百度地图时导入JavaScript包

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

1.1.如何申请 ak 密钥

在 开发平台 找 控制台 / 应用管理 / 我的应用 创建 访问应用(AK) 密钥
百度地图 ( 一 ) 显示地图_第1张图片

1.2.参考代码

在 开发平台 找 开发文档 / JavaScript API 可以得到 百度地图 各种应用的 DEMO

百度地图 ( 一 ) 显示地图_第2张图片

2.展示地图

2.1.显示地图

导入 JavaScript 包

<script type="text/javascript"
        src="http://api.map.baidu.com/api?v=2.0&ak=bfnV92gwMphakBP0m8usEhzq7bxwCB1s">script>
<script th:src="@{/js/jquery-3.2.1.min.js}"  src="../../static/js/jquery-3.2.1.min.js">script>

增加 样式 设置

<style type="text/css">
    body, html,#allmap {
        width: 100%;
        height: 100%;
        overflow: hidden;
        margin:0;
        font-family:"微软雅黑";
    }
style>

页面 HTML 元素

    <div id="allmap">div> 

增加javascript 代码

默认打开的地址 , 可以通过 传入的 经纬度或者地址名字两种方式

<script  type="text/javascript"  >
    map = new BMap.Map("allmap");

    // 设置中心点坐标和放大倍数
    // 以 经纬度 定位
    // var point = new BMap.Point(116.449562,39.926373);
    // map.centerAndZoom(point, 12);
    // 以 地名 定位
    map.centerAndZoom('北京市', 12);

    map.enableScrollWheelZoom();    //启用滚轮放大缩小,默认禁用
    map.enableContinuousZoom();    //启用地图惯性拖拽,默认禁用
    map.addControl(new BMap.NavigationControl());  //添加默认缩放平移控件
    map.addControl(new BMap.ScaleControl());          //比例尺
    map.addControl(new BMap.OverviewMapControl()); //添加默认缩略地图控件
    map.addControl(new BMap.OverviewMapControl({isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT}));   //右下角,打开缩略地图
    // map.addControl(new BMap.MapTypeControl());        //地图类型 三维方式 有错误
    map.setMapStyle({style:'light'});
script>

2.2.搜索地址

页面增加 元素

地名:<input type="text" name="modalAddr">
<input type="button" value="查询"  onclick="searchByStationName()"> 
经度:<input name="acLng" type="text">
纬度:<input name="acLat" type="text">

增加 处理函数

function searchByStationName() {

    localSearch = new BMap.LocalSearch(map); // 创建 搜索对象
    localSearch.enableAutoViewport();     //允许自动调节窗体大小

    /*
     清理 信息
    */
    map.clearOverlays();//清空原来的标注
    $("input[name='acLng']").val("");
    $("input[name='acLat']").val("");
    // 得到查询地址
    var keyword = $("input[name='modalAddr']").val();
    // 搜索结果 回调函数
    localSearch.setSearchCompleteCallback(function (searchResult) {
        console.log(searchResult)
        // 取满足条件中的第0个
        var poi = searchResult.getPoi(0);
        console.log(poi.address)
        map.centerAndZoom(poi.point, 15);

        // 创建一个标注,为要查询的地方对应的经纬度
        var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat));  
        if (marker != null && marker != undefined) {
            $("input[name='acLng']").val(poi.point.lng);
            $("input[name='acLat']").val(poi.point.lat);
        }
        //标注点可拖拽
        marker.enableDragging();

        // 标注 绑定拖拽事件
        marker.addEventListener("dragging", function (msg) {
            $("input[name='acLng']").val(msg.point.lng);
            $("input[name='acLat']").val(msg.point.lat);
        });
        // 显示 覆盖物
        map.addOverlay(marker);

        // 用于显示的信息
        var content = keyword + "

经度:"
+ poi.point.lng + "
纬度:"
+ poi.point.lat; // 点击显示内容 var infoWindow = new BMap.InfoWindow("

" + content + "

"
); // 绑定点击事件 marker.addEventListener("click", function () { this.openInfoWindow(infoWindow); }); // 标注 绑定拖拽释放事件 marker.addEventListener("dragend", function () { alert("lng:" + this.getPosition().lng + " " + "lat:" + this.getPosition().lat) }); }); localSearch.search(keyword); }

你可能感兴趣的:(javascript,百度,javascript,前端)