百度地图API 使用测试

版权声明:版权是个什么玩意儿?看得上随便转 https://blog.csdn.net/Byte_Dance/article/details/85848275

百度地图API传送门: http://lbsyun.baidu.com/index.php?title=jspopular/guide/geolocation

<!DOCTYPE html>
<html>
<head>
 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Hello, World</title>
 <style type="text/css">
  html{height:100%}
  body{height:100%;margin:0px;padding:0px}
  #container{
    /*height:100%*/
  }
  .box{
   width:600px;
   height:400px;
   margin:300px;
  }
 </style>
 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=秘钥">
     //v2.0版本的引用方式:src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"
 </script>
</head>

<body>
<div id="container" class="box"></div>
<script type="text/javascript">
    var map = new BMap.Map("container");
    // 创建地图实例
    var point = new BMap.Point(113.742196,34.752043);
    // 创建点坐标
    map.centerAndZoom(point,20);
    // 初始化地图,设置中心点坐标和地图级别
    map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
    // map.setMapStyle({style:'grayscale'}); //黑夜地图效果

    var marker = new BMap.Marker(point);        // 创建标注
    map.addOverlay(marker);

    //定义位置坐标
    // marker.enableDragging();
    // marker.addEventListener("dragend", function(e){
    //     alert("当前位置:" + e.point.lng + ", " + e.point.lat);
    // })

    //定义信息窗口
    var opt = {
        width : 250,     // 信息窗口宽度
        height: 100,     // 信息窗口高度
        title : "河南晶泰光电科技有限公司" , // 信息窗口标题
        color:"red"
    };
    var infoWindow = new BMap.InfoWindow("安装LED显示屏,LED显示屏安装,LED显示屏报价,LED显示屏维修", opt);  // 创建信息窗口对象

    //监听小红点点击事件 点击后信息窗口显示
    marker.addEventListener("click", function(){
        map.openInfoWindow(infoWindow, map.getCenter());      // 打开信息窗口
    });

    //定义一个地图放大缩小控件
    var opts = {type:BMAP_NAVIGATION_CONTROL_LARGE,offset: new BMap.Size(20,20)}
    map.addControl(new BMap.NavigationControl(opts));
</script>
</body>
</html>

使用定位

IP定位

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Hello, World</title>
    <style type="text/css">
        html {
            height: 100%
        }

        body {
            height: 100%;
            margin: 0px;
            padding: 0px
        }

        #container {
            /*height:100%*/
        }

        .box {
            width: 600px;
            height: 400px;
            margin: 300px;
        }
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=nQAAUcgM8a3crA1enfABGDh7w0bbTodI">
    </script>
</head>

<body>
<div id="allmap" class="box"></div>
<script>
    var map = new BMap.Map("allmap");
    var point = new BMap.Point(116.331398,39.897445);
    map.centerAndZoom(point,10);

    //这里在外部定义一个变量接收地理位置
    var str = "";
    function myFun(result){
        var cityName = result.name;
        map.setCenter(cityName);
        str = cityName;
    }
    var myCity = new BMap.LocalCity();
    myCity.get(myFun);

    //要将取到的保价 直接使用是不行的,需要等到str元素被赋值好之后再使用,所以等2秒后再使用
    setTimeout(function(){
        console.log(str)
    },2000)

</script>

</body>
</html>

定位SDK辅助定位

<script type="text/javascript">
    // 百度地图API功能
    var map = new BMap.Map("allmap");
    var geoc = new BMap.Geocoder(); 
    // var point = new BMap.Point(116.331398,39.897445);
    // map.centerAndZoom(point,12);

    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function(r){
        if(this.getStatus() == BMAP_STATUS_SUCCESS){
            var mk = new BMap.Marker(r.point);
            map.addOverlay(mk);
            // map.panTo(r.point);
            console.log(r.point)
            var pt = r.point;

            geoc.getLocation(pt, function(rs){
                var addComp = rs.addressComponents;
                alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
            });    
        }
        else {
            alert('failed'+this.getStatus());
        }        
    },{enableHighAccuracy: true})
    //关于状态码
    //BMAP_STATUS_SUCCESS   检索成功。对应数值“0”。
    //BMAP_STATUS_CITY_LIST 城市列表。对应数值“1”。
    //BMAP_STATUS_UNKNOWN_LOCATION  位置结果未知。对应数值“2”。
    //BMAP_STATUS_UNKNOWN_ROUTE 导航结果未知。对应数值“3”。
    //BMAP_STATUS_INVALID_KEY   非法密钥。对应数值“4”。
    //BMAP_STATUS_INVALID_REQUEST   非法请求。对应数值“5”。
    //BMAP_STATUS_PERMISSION_DENIED 没有权限。对应数值“6”。(自 1.1 新增)
    //BMAP_STATUS_SERVICE_UNAVAILABLE   服务不可用。对应数值“7”。(自 1.1 新增)
    //BMAP_STATUS_TIMEOUT   超时。对应数值“8”。(自 1.1 新增)
</script>

猜你喜欢

转载自blog.csdn.net/Byte_Dance/article/details/85848275