zoukankan      html  css  js  c++  java
  • 利用百度地图实现搜索定位功能

    1.html部分

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>搜索定位</title>
        <link rel="stylesheet" type="text/css" href="style.css">
        <style type="text/css">
    
            #map {
                 800px;
                height: 800px;
             }
        </style>
        <script src="jquery.js"></script>
        <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=你申请的ak码"></script>
    </head>
    <body>
        <div id="map">
    
        </div>
        <input type="text" id="address">
        <button id="btn">搜索</button>
    </body>
    </html>
    

    2.js部分

    代码都有注释,就不多说了

    // 百度地图API功能
    var map = new BMap.Map("map");
    map.centerAndZoom("杭州", 11);
    var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT});// 左上角,添加比例尺
    var top_left_navigation = new BMap.NavigationControl();  //左上角,添加默认缩放平移控件
    
    // 标尺控件
    map.addControl(top_left_control);
    map.addControl(top_left_navigation);
    
    //定位
    function setPlace(value) {
        var local, point, marker = null;
        local = new BMap.LocalSearch(map, { //智能搜索
            onSearchComplete: fn
        });
    
        local.search(value);
    
        function fn() {
            //如果搜索的有结果
            if(local.getResults() != undefined) {
                map.clearOverlays(); //清除地图上所有覆盖物
                if(local.getResults().getPoi(0)) {
                    point = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
                    map.centerAndZoom(point, 18);
                    marker = new BMap.Marker(point); // 创建标注
                    map.addOverlay(marker); // 将标注添加到地图中
                    marker.enableDragging(); // 可拖拽
                    alert("当前定位经度:"+point.lng+"纬度:"+point.lat);
                } else {
                    alert("未匹配到地点!可拖动地图上的红色图标到精确位置");
                }
            } else {
                alert("未找到搜索结果")
            }
        }
    }
    // 按钮事件
    $("#btn").click(function(){
        setPlace($("#address").val());
    });
    

    3.效果  

  • 相关阅读:
    用自己的话描述wcf中的传输安全与消息安全的区别(一)
    web服务器( nginx )及请求代理
    windows系统安装
    邮箱使用
    常见dos命令总结
    前端技术碰到的陌生单词
    前端工作思考
    table标签详解
    PC 端响应式布局
    HTML标签嵌套规则
  • 原文地址:https://www.cnblogs.com/LandMine/p/6490078.html
Copyright © 2011-2022 走看看