0
点赞
收藏
分享

微信扫一扫

百度地图开发示例:位置标注,标注点弹框


一、申请百度地图开发者AK

1.登录百度开放平台

 地址:http://lbsyun.baidu.com/,使用百度账号登录成功后,点击控制台

百度地图开发示例:位置标注,标注点弹框_百度地图

2.点击查看应用,点击创建应用

百度地图开发示例:位置标注,标注点弹框_git_02

3.填写信息,申请百度ak

百度地图开发示例:位置标注,标注点弹框_百度地图_03

4.申请成功后,应用列表里查看ak码

百度地图开发示例:位置标注,标注点弹框_标注点弹框_04

 

二、使用ak码调用api

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        body,
        html,
        #allmap {
            width: 100%;
            height: 100%;
            overflow: hidden;
            margin: 0;
            font-family: "微软雅黑";

        }
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=密钥"></script>
    <!-- 密钥: 在百度地图开发者中心获取 -->
    <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    <title>地图展示</title>
</head>

<body>
    <div id="allmap"></div>
</body>

</html>

<script type="text/javascript">
    var baidumap = function () {
        var map;
        function init() {
            // 百度地图API功能
            map = new BMap.Map("allmap", { minZoom: 4, maxZoom: 15 }); // 创建Map实例,设置地图允许的最小/大级别(参数可选)
            map.centerAndZoom(new BMap.Point(116.404, 39.915), 6); // 初始化地图,设置中心点坐标和地图级别(数字越大,位置显示越精确)

            //添加地图类型控件
            map.addControl(new BMap.MapTypeControl({
                mapTypes: [
                    BMAP_NORMAL_MAP,
                    BMAP_HYBRID_MAP
                ]

            }));
            map.setCurrentCity("西安"); // 设置地图显示的城市 此项是必须设置的
            map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
            //标记地图位置
            function addMarker(point) {
                var marker = new BMap.Marker(point);
                map.addOverlay(marker);
            }
            var mapData = GetMapData(); //获取位置数据
            for (i = 0; i < mapData.length; i++) {
                var dataIndex = mapData[i];
                var point = new BMap.Point(dataIndex.Point.longitude, dataIndex.Point.Latitude);
                var marker = new BMap.Marker(point);
                map.addOverlay(marker);
                addClickHandler(dataIndex, marker);
            }

        }

        function addClickHandler(dataIndex, marker) {
            marker.addEventListener("mouseover", function (e) {
                openInfo(dataIndex, e)
            });
            marker.addEventListener("mousemove", function (e) {
                $('.BMap_pop>img').trigger('click');
                // map.closeInfoWindow(infoWindow,point); //开启信息窗口
            } );
        }

        function openInfo(dataIndex, e) {
            var p = e.target;
            var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
            var infoWindow = new BMap.InfoWindow(dataIndex.message, {
                width: 200, // 信息窗口宽度
                height: 100, // 信息窗口高度
                title: dataIndex.title, // 信息窗口标题
                enableMessage: true,//设置允许信息窗发送短息
                message: dataIndex.message

            }); // 创建信息窗口对象
            map.openInfoWindow(infoWindow, point); //开启信息窗口

        }
        function GetMapData() {
            var mapData = [
                { "key": "1", "name": "北京市市中心", "Point": { "longitude": 116.41667, "Latitude": 39.91667 }, "title": "北京市市中心", "message": "亲耐滴,欢迎来到北京市市中心喔~" },
                { "key": "2", "name": "上海市区", "Point": { "longitude": 121.43333, "Latitude": 34.50000 }, "title": "上海市区", "message": "亲耐滴,欢迎来到上海市区喔~" },
                { "key": "3", "name": "天津市区", "Point": { "longitude": 117.20000, "Latitude": 39.13333 }, "title": "天津市区", "message": "亲耐滴,欢迎来到天津市区喔~" },
            ]
            return mapData;
        }

        return {
            Init: init
        };
    }();

    $(function () {
        baidumap.Init();
    });
</script>


 

举报

相关推荐

0 条评论