百度地图在网页中的简单应用

一、初始化事件

 $(function () {
         /*
           map.addControl(new BMap.MapTypeControl());   //添加地图类型控件 离线只支持电子地图,卫星/三维不支持
           map.setCurrentCity("北京");                  // 设置地图显示的城市 离线地图不支持!!
         */

         //设置地图最小、最大缩放范围
         map = new BMap.Map("container", {
             minZoom: 11,
             maxZoom: 17
         });
       
         map.centerAndZoom(new BMap.Point(118.045549, 36.870928), 17);  // 初始化地图,设置中心点坐标和地图级别
         map.enableScrollWheelZoom(true);                             //开启鼠标滚轮缩放
         map.addControl(new BMap.NavigationControl());
         }

二、在地图上创建叠加物并设置事件

 function createRoad(map,id,crossingName, usergroup, ip, port, coordinate_x, coordinate_y) {
         var isonline = false;
         var myIcon = new BMap.Icon("../../Images/signal_normal.png", new BMap.Size(32, 32));
         if (jsGetWSStatus('http://'+ip.trim()+":"+port.trim()+'/config')) {
             isonline = true;
             if (crossingName == curCrossingName) {
                 map.centerAndZoom(new BMap.Point(coordinate_x, coordinate_y), 17);  // 初始化地图,设置中心点坐标和地图级别
                 myIcon = new BMap.Icon("../../Images/star_signal.png", new BMap.Size(32, 32));
             } else {
                 myIcon = new BMap.Icon("../../Images/signal_online.png", new BMap.Size(32, 32));
             }
         } else {
             myIcon = new BMap.Icon("../../Images/signal_normal.png", new BMap.Size(32, 32));
         }

         var point = new BMap.Point(coordinate_x, coordinate_y);
         var marker = new BMap.Marker(point,{
             icon: myIcon
         });

         map.addOverlay(marker);              // 将标注添加到地图中
           var opts = {
             width: 100,
             height: 200,
             title: '路口信息:'
         };
         var tempstr = '编号:' + id + '<br/>名称:' + crossingName + "<br/>" + '用户组:' + usergroup + "<br/>" + '地理坐标:(' + coordinate_x + ',' + coordinate_y + ')' + "<br/>" + 'IP地址:' + ip + "<br/>" + '端口号:' + port + "<br/>" + '状态:' +(isonline?'在线':'离线');
         var infoWindow = new BMap.InfoWindow(tempstr, opts);

         //鼠标移出事件
         marker.addEventListener('mouseout', function () {
             map.closeInfoWindow(infoWindow); // 关闭信息窗口
         });

         marker.addEventListener("mouseover", function () {
             map.openInfoWindow(infoWindow, point); //开启信息窗口
         });
         //鼠标单击事件注册
         marker.addEventListener('click', function () {
            
         });
         //标记删除事件注册
         marker.addEventListener('remove', function () {
            
         });

         // 标记右键事件注册
         marker.addEventListener('rightclick', function () {
            
         });

         //创建标记右键菜单
         var markermenu = new BMap.ContextMenu();
         var txtMarkerMenuItem = [
             {
                 text: '修改配置',
                 callback: function () {
                     var menuidstr = id;
                   parent.edit_menuitem(menuidstr)
                   
                 }

             }, {
                 text: '删除路口',
                 callback: function () {
                   
                     var menuidstr = id;
                     parent.delete_menuitem(menuidstr);
                     
                 }
             }
         ];
         for (var h = 0; h < txtMarkerMenuItem.length; h++) {
             markermenu.addItem(new BMap.MenuItem(                 // 定义菜单项实例
                 txtMarkerMenuItem[h].text,                        // 传入菜单项的显示文本
                 txtMarkerMenuItem[h].callback,                    // 传入菜单项的回调函数
                 {
                     width: 70,                                    // 指定菜单项的宽度
                     icon: myIcon                                  // 指定菜单项dom的id
                 }
             ));
         }
         //绑定标记右键菜单
         marker.addContextMenu(markermenu);
         return marker;
     }

三、创建快捷菜单

function createMapContextMenu(map) {
         //创建地图右键菜单
         var menu = new BMap.ContextMenu();
         var txtMenuItem = [
             {
                 text: '创建路口',
                 callback: function (e) {
                     parent.add_menuitem(e);
                 }
             }
         ];
         for (var t = 0; t < txtMenuItem.length; t++) {
             menu.addItem(new BMap.MenuItem(               // 定义菜单项实例
                 txtMenuItem[t].text,                        // 传入菜单项的显示文本
                 txtMenuItem[t].callback,                    // 传入菜单项的回调函数
                 {
                     width: 70,                             // 指定菜单项的宽度
                 }
             ));
         }
         //绑定地图右键菜单
         map.addContextMenu(menu);

     }

技术交流与业务合作:QQ:375172665

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值