百度地图开发:自定义区划管理php后台数据管理的解决方案(layUI前端)

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 百度地图开发:自定义区划管理php后台数据管理的解决方案(layUI前端)

自定义区划管理,不需再受限于行政规划,可根据业务特点(如网点覆盖范围、消费者分布、内部人员分工等)自由划分区域块,实现企业信息的精细化格网管理。

视频演示:

1689931637874.png


百度地图自定义区划管理视频教程

  1. 基于百度地图API开放接口;
  2. 获取边界数据后,PHP后台数据管理;
  3. 降低专业GIS软件门槛,将GIS优化为大众画图工具,让画区不再繁琐;
  4. 支持多人在线协同编辑区域及业务数据,提升工作效率;


JS文件引入

    <script src="js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript"
            src="//api.map.baidu.com/api?v=2.0&ak=11Z8uiP8kIz6AG0Vjiwzbc5f9Ii0cdHd"></script>
    <!--加载鼠标绘制工具-->
    <script type="text/javascript"
            src="//api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script>
    <link rel="stylesheet" href="//api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css"/>
    <!--核心函数库-->
    <script src="js/functions.js"></script>
    <!--layui2.57框架-->
    <script src="js/layui/layui.js"></script>
    <link rel="stylesheet" href="js/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="css/common.css" media="all">


HTML容器构建

<div id="allmap">
    <div id="map" style="height:100%;-webkit-transition: all 0.5s ease-in-out;transition: all 0.5s ease-in-out;"></div>
</div>
<div class="pannel">
    <div class="itemChild">
        <div id="result">
            <p><input type="text" placeholder="区划名称" id="name" lay-verify="required" class="layui-input"></p>
            <p><textarea rows="10" cols="80" id="res" class="layui-textarea"  placeholder="自动获取经纬" readonly></textarea></p>
            <p>
                <!--<input class="layui-btn" type="button" value="获取绘制的覆盖物个数" οnclick="alert(overlays.length)"/>-->
                <input class="layui-btn" type="button" value="清除所有覆盖物" onclick="clearAll()"/>
                <button id="btn" class="layui-btn">提交区划经纬度数据</button>
            </p>
        </div>
    </div>
    <div class="itemChild">
        <table class="layui-hide" id="test"></table>
    </div>
</div>


提交自定义区划

    /*提交自定义区划*/
    $(function () {
        $("#btn").click(function () {
            var name = $("#name").val();
            var lnglat = $("#res").val();
            if (name == "") {
                alert("区划名称不能为空!");
                $("#name").focus();
                return false;
            }
            if (lnglat == "") {
                alert("经纬度不能为空!");
                $("#res").focus();
                return false;
            }
            //提交数据入库;
            addDistrict(name, lnglat.substr(0, lnglat.length - 1))
        })
    })

获取行政区划的边界轮廓

/*获取行政区划的边界轮廓*/
function getArea() {
    $.ajax({
        type: 'post',
        async: true,
        data: {},
        url: 'api/api.php?act=getDistrict&token=3cab7ce4142608c0f40c785b5ab5ca24',
        dataType: "json",
        success: function (res) {
            //console.log(res.data);
            var arr = [];
            for (var m = 0; m < res.data.length; m++) {
                arr.push(res.data[m].lnglat);
            }
            //绘制多边形;
            drawPolygon(arr);
        },
        error: function (err) {
            console.log(err + "请求数据失败!");
        }
    });
    //绘制多边形;
    function drawPolygon(arr) {
        var ops = {
            strokeColor: "rgba(0,0,0,1)",
            fillColor: "rgba(0,0,0,1)",
            fillOpacity: 0.4,
            strokeOpacity: 0.1
        };
        for (var j = 0; j < arr.length; j++) {
            //console.log(eval(arr[j]));
            var plPoint = [];
            for (var i = 0; i < eval(arr[j]).length; i++) {
                //console.log(eval(arr[j])[i][0]);
                plPoint.push(new BMap.Point(eval(arr[j])[i][0], eval(arr[j])[i][1]));
            }
            var ply = new BMap.Polygon(plPoint, ops);
            map.addOverlay(ply);
            //ply.enableEditing();
        }
    }
}


Done!

相关文章
|
2月前
|
JSON 前端开发 Java
layui上传图片,前端直接拷代码,后端……
layui上传图片,前端直接拷代码,后端……
32 0
|
2月前
|
JavaScript 前端开发
vue前端下载,实现点击按钮弹出本地窗口,选择自定义保存路径
这个不用代码实现(网上也找不到方法可以调出另存为窗口),更改浏览器设置就可以,否则,现在的浏览器都是默认直接保存到下载路径中
69 3
|
2月前
|
前端开发 小程序
919. 【前端】Taro.useShareAppMessage 自定义分享封面
919. 【前端】Taro.useShareAppMessage 自定义分享封面
97 2
|
2月前
|
JSON 前端开发 安全
前端开发中的跨域问题及解决方案
在前端开发中,跨域是一个常见但又令人头疼的问题。本文将深入探讨跨域产生的原因以及一些常见的解决方案,帮助开发者更好地理解和处理跨域情况。
|
6天前
|
前端开发 数据可视化 API
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏(二)
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏
14 0
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏(二)
|
6天前
|
前端开发 JavaScript CDN
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏(一)
前端react 18.2整合ckeditor富文本编辑器——配置插件、自定义toolbar工具栏
19 0
|
19天前
|
Web App开发 移动开发 运维
跨域解决方案[前端+后端]
跨域解决方案[前端+后端]
25 0
|
29天前
|
前端开发
无法解锁/var/lib/dpkg/lock-frontend和无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend)【解决方案】
无法解锁/var/lib/dpkg/lock-frontend和无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend)【解决方案】
|
2月前
|
前端开发 API 开发者
layui:从崛起到蜕变,前端框架的华丽篇章
layui:从崛起到蜕变,前端框架的华丽篇章
|
2月前
|
前端开发 JavaScript NoSQL
从前端到后端:构建全栈应用的技术挑战与解决方案
在当今互联网时代,全栈开发成为越来越受欢迎的技术趋势。本文将深入探讨从前端到后端的全栈开发过程中所面临的技术挑战,并提出相应的解决方案,涵盖前端框架选择、后端技术架构、数据库设计以及跨平台兼容性等关键问题。