zoukankan      html  css  js  c++  java
  • 百度地图调用及电子围栏设置

    一、百度地图的引用:首先要注册百度开发者账号,获得一个密钥后就可引用下面的js来调取百度地图;

    二、百度地图电子围栏的设置

    1、设置电子围栏,个人的思路是先取到鼠标绘制的所有点的坐标,然后储存到数据库中,

      // 百度地图API功能
        var map = new BMap.Map('map');
        var poi = new BMap.Point(116.307852, 40.057031);
        map.centerAndZoom(poi, 16);//设置中心点坐标和地图级别
        map.enableScrollWheelZoom();//启用鼠标滚动对地图放大缩小
        map.addControl(new BMap.NavigationControl());
    
        //鼠标绘制完成回调方法   获取各个点的经纬度
        var overlays = [];
        var mlnglat = [];
        overlaycomplete = function (e) {
            overlays.push(e.overlay);
            var path = e.overlay.getPath();//Array<Point> 返回多边型的点数组   
            for (var i = 0; i < path.length; i++) {
                mlnglat.push("lng:" + path[i].lng + ",lat:" + path[i].lat);
            }
        };
    
        $('#NF-add').on('click', function () {
            if (mlnglat.length == 0) {
                alert("请先设置电子围栏!");
            } else {
                alert(mlnglat);
            }
        });
    
        var styleOptions = {
            strokeColor: "red",    //边线颜色。
            fillColor: "red",      //填充颜色。当参数为空时,圆形将没有填充效果。
            strokeWeight: 3,       //边线的宽度,以像素为单位。
            strokeOpacity: 0.8,       //边线透明度,取值范围0 - 1。
            fillOpacity: 0.6,      //填充的透明度,取值范围0 - 1。
            strokeStyle: 'solid' //边线的样式,solid或dashed。
        }
        //实例化鼠标绘制工具
        var drawingManager = new BMapLib.DrawingManager(map, {
            isOpen: false, //是否开启绘制模式
            enableDrawingTool: true, //是否显示工具栏
            drawingToolOptions: {
                anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
                offset: new BMap.Size(5, 5), //偏离值
            },
            polygonOptions: styleOptions, //多边形的样式
        });
        //添加鼠标绘制工具监听事件,用于获取绘制结果
        drawingManager.addEventListener('overlaycomplete', overlaycomplete);

    2、删除电子围栏

        $('#NF-delete').on('click', function () {
            for (var i = 0; i < overlays.length; i++) {
                map.removeOverlay(overlays[i]);
            }
            overlays.length = 0
        });

    3、显示电子围栏

        function treeView() {
            $("#itemTree").treeview({
                url: "#",
                onnodeclick: function (item) {
                    var RegionId = $("#itemTree").getCurrentNode().id;
                    $.get("#", { "keyValue": RegionId }, function (data) {
                        var Rdata = eval("(" + data + ")");
                        if (Rdata) {
                            map.removeOverlay(polyLine);
                            var Rlnglat = [];
                            Rlnglat = Rdata.POLYGON.split(',');
                            var points = [];
                            var points2 = [];
                            for (var i = 0; i < Rlnglat.length; i++) {
                                points.push(Rlnglat[i].replace('|', ','));
                                points2.push(points[i].split(','));
                            }
                            var polyLinePoints = [];     
                            for (var i = 0; i < points2.length; i++)
                            {                        
                                var po = new BMap.Point(points2[i][0],points2[i][1]);
                                polyLinePoints.push(po); 
                            }
                            polyLine = new BMap.Polygon(polyLinePoints, { strokeColor: "red", fillColor: "red", strokeWeight: 3, strokeOpacity: 0.8 });
            
                            map.addOverlay(polyLine);               
    
                        } else {
                            alert(1);
                        }
                    });
                }
            });
        }



  • 相关阅读:
    git常用指令 github版本回退 reset
    三门问题 概率论
    如何高效的学习高等数学
    数据库6 关系代数(relational algebra) 函数依赖(functional dependency)
    数据库5 索引 动态哈希(Dynamic Hashing)
    数据库4 3层结构(Three Level Architecture) DBA DML DDL DCL DQL
    梦想开始的地方
    java String字符串转对象实体类
    java 生成图片验证码
    java 对象之间相同属性进行赋值
  • 原文地址:https://www.cnblogs.com/dongh/p/6589503.html
Copyright © 2011-2022 走看看