百度地图API-记录功能文档

百度地图API-记录功能文档
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        body,
        html,
        #map {
            height: 100%;
            width: 100%;
            margin: 0;
            overflow: hidden;
            font-weight: 700;
        }
    </style>
    <script type="text/javascript"
        src="http://api.map.baidu.com/api?v=2.0&ak=这里是 ak 密钥值 "></script>
    <title>百度地图API-记录功能文档</title>
</head>

<body>
    <div id="map"></div>
    <script>
        var map = new BMap.Map('map') // 创建 map 实例


        map.centerAndZoom(new BMap.Point(120.21937542, 30.25924446), 9); // 初始化地图,设置中心坐标点和地图缩放级别


        map.addControl(new BMap.NavigationControl()) // 添加左上角 比例工具尺


        map.enableScrollWheelZoom(true) // 开启鼠标滚动缩放


        map.addControl(new BMap.MapTypeControl({
            mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP], // [地图类型, 卫星类型, 混合类型]
            anchor: BMAP_ANCHOR_TOP_RIGHT // 显示在右上角
        })) // 显示 地图类型控件


        var geolocationControl = new BMap.GeolocationControl() // 获取定位控件实例, 添加监听事件
        geolocationControl.addEventListener('locationSuccess', (res) => {
            // 定位成功事件
            console.log(res)
        })
        geolocationControl.addEventListener('locationError', (err) => {
            // 定位失败事件
            console.log(err)
            alert(err.message)
        })
        map.addControl(geolocationControl) // 添加 定位控件


        onLatAndLon() //一开始默认显示线路及标点信息


        // 监听地图缩放级别结束时 zoomend 事件
        map.addEventListener('zoomend', (e) => {
            // 地图级别 3 - 19 
            let nowZoom = map.getZoom() //获取当前地图缩放级别
            if (nowZoom >= 10) {
                onLatAndLon() // 显示线路及标点信息
            } else {
                map.clearOverlays(); // 清除线路及标点信息
            }
        })

        
        function onLatAndLon() {
            // 路线 经纬度坐标

            let ENList = [
                [
                    new BMap.Point(120.21937542, 30.29025555),
                    new BMap.Point(120.51937542, 30.27025555),
                    new BMap.Point(120.31937542, 30.25025555),
                    new BMap.Point(120.21937542, 30.23025555),
                    new BMap.Point(120.11937542, 30.21025555),
                ],
                [
                    new BMap.Point(120.21937542, 31.39025555),
                    new BMap.Point(120.21937542, 31.37025555),
                    new BMap.Point(120.21937542, 31.35025555),
                    new BMap.Point(120.21937542, 31.33025555),
                    new BMap.Point(120.21937542, 31.31025555),
                ]
            ]
            ENList.forEach((item, index) => {
                onMaker(item)
            })
        }

        function onMaker(ENList) {
            // 创建路线
            var polyline = new BMap.Polyline(ENList, {
                strokeColor: "#000", // 颜色
                strokeWeight: '8', // 宽度
                strokeOpacity: 1 // 透明度  取值范围0 - 1
            })
            map.addOverlay(polyline) // 添加路线

            // 创建路线标点图标
            var myIcon = new BMap.Icon('这里替换为本地图片路径(xxx.png)', new BMap.Size(70, 70), { imageSize: new BMap.Size(70, 70) }) // 标点图片, 图片大小,图片大小
            var n = 9
            for (let i = 0; i < ENList.length; i++) {
                var marker = new BMap.Marker(ENList[i], { icon: myIcon }) // 替换为设置好的标点样式
                label = new BMap.Label('120.2E-30.2' + n + 'N', { offset: new BMap.Size(60, 50) }); // 添加当前标点的标题
                marker.setLabel(label); // 添加标题
                map.addOverlay(marker) // 添加标点
                // marker.setAnimation(BMAP_ANIMATION_BOUNCE); // 添加动画 (bug: 缩放地图后 会重叠标点)
                // 添加标点 点击事件
                marker.addEventListener('click', (e) => {
                    let p = e.target.point
                    alert('经度:' + p.lng + '  纬度:' + p.lat)
                })
                n = n - 2
            }
        }
    </script>
</body>

</html>



// 一个月薪2500的狗头,只能记录+分享它的狗生了…

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta name="keywords" content="百度地图,百度地图API百度地图自定义工具,百度地图所见即所得工具" /> <meta name="description" content="百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" /> <title>百度地图API自定义地图</title> <!--引用百度地图API--> <style type="text/css"> html,body{margin:0;padding:0;} .iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap} .iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word} </style> [removed][removed] </head> <body> <!--百度地图容器--> <div solid 1px;margin:auto auto;" id="dituContent"></div> </body> [removed] //创建和初始化地图函数: function initMap(){ createMap();//创建地图 setMapEvent();//设置地图事件 addMapControl();//向地图添加控件 } //创建地图函数: function createMap(){ var map = new BMap.Map("dituContent");//在百度地图容器中创建一个地图 var point = new BMap.Point(116.395645,39.929986);//定义一个中心点坐标 map.centerAndZoom(point,12);//设定地图的中心点和坐标并将地图显示在地图容器中 window.map = map;//将map变量存储在全局 } //地图事件设置函数: function setMapEvent(){ map.enableDragging();//启用地图拖拽事件,默认启用(可不写) map.enableScrollWheelZoom();//启用地图滚轮放大缩小 map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写) map.enableKeyboard();//启用键盘上下左右键移动地图 } //地图控件添加函数: function addMapControl(){ //向地图中添加缩放控件 var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); map.addControl(ctrl_nav); //向地图中添加缩略图控件 var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1}); map.addControl(ctrl_ove); //向地图中添加比例尺控件 var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); map.addControl(ctrl_sca); } initMap();//创建和初始化地图 [removed] </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值