漏刻有时地理信息系统说明文档(LOCKGIS、php后台管理、三端一体PC-H5-微信小程序、百度地图jsAPI二次开发、标注弹窗导航)

news2024/11/26 17:49:57

漏刻有时地理信息系统LOCKGIS

  • 前言
  • 一、运行环境
    • (一)环境检查
    • (二)权限检查
    • (三)函数支持
    • (四)域名相关
  • 二、核心代码
    • (一)坐标展示
    • (二)实时定位
  • 三、界面展示
    • (一)微信小程序端
    • (二)H5展示页
    • (三)PC端
    • (四)PHP后台管理
  • 四、技术特点
    • (一)支持私有部署
    • (二)LOCKGIS开发特点
    • (三)功能延伸

前言

漏刻有时智能地理信息系统,英文名称LOCKGIS(后文简称:LOCKGIS),基于百度地图JavaScript API,旨在帮助开发者在网站中构建功能丰富、交互性强的地图应用,将地理位置与数字化技术相结合,为用户提供实时、有效的地理信息服务。
LOCKGIS通过web、移动端、桌面应用等方式,将地图数据和地理信息展示出来,方便用户实现地图浏览、地点搜索、路线规划等功能。同时,还可以应用到各行各业,如房地产、旅游、物流、交通等领域,为相关企业和个人提供基于地理位置的信息服务和解决方案,提升其运营效率和服务质量,促进经济发展。
另外,地图开发还可以结合人工智能、大数据等技术,实现更加智能、高效的地理信息服务,为人们带来更多的便利和体验。
LOCKGIS二次开发者可以根据自身应用需要对地图API进行个性化的扩展和定制,达到更符合业务需求的功能效果,为用户提供更好的服务。
通过地图信息系统的二次开发,可以实现以下功能:

  1. 地理定位:对地图上的数据进行定位和标注,使数据能够更直观、更易于理解。
  2. 数据分析:通过对标注在地图上的数据进行统计分析,可以更快速地发现数据间的关系和规律。
  3. 业务开发:通过二次开发,可以根据自身需要扩展地图API的功能,方便开发者快速实现相关业务。
  4. 数据可视化:将地图部署到数据可视化平台上,可以将数据在地图上以可视化的方式展示出来,帮助用户更好地理解数据。
  5. 市场定制:通过定制化地图样式、图标和注记等,可以根据公司品牌风格和业务需求来展现自身的特色。
    漏刻有时地理信息系统的二次开发可以帮助企业、开发者更好地实现业务需求,同时提高应用开发效率,为用户提供更好的服务。

一、运行环境

(一)环境检查

操作系统:Linux、WINNT;
PHP版本: 5.5+;
MySQL版本:5.6+;

(二)权限检查

conf:可写;
upload:可写;

(三)函数支持

file_get_contents():支持
mb_convert_encoding():支持
json_encode():支持

(四)域名相关

1.域名备案,否则无法在小程序中添加服务器和业务域名;
2.SSL证书,否则无法在小程序中正常绑定域名和实现实时定位功能;

二、核心代码

(一)坐标展示

  • 考虑加装速度和实际效果,首次加载100个最新的坐标点;
  • 搜索显示全部坐标;
public function getMarkers()
    {
        global $db, $res;
        dbc();
        //获取数据;
        @$keywords = get_param("keywords");
        $sql = "select poi_id,poi_sn,poi_name,poi_area,poi_address,poi_lon,poi_lat,poi_type,poi_phone from " . $db->table('poi') . " WHERE 1 ";
        if ($keywords != "") {
            $sql .= " AND poi_name like '%" . $keywords . "%'";
        }
        $sql .= " ORDER BY poi_id DESC";
        //首次加载默认显示,搜索全部显示
        if ($keywords == "") {
            $sql .= " LIMIT 100";
        }
        $row = $db->queryall($sql);
        $res['code'] = 0;
        $res["data"] = $row;
        die(json_encode_lockdata($res));
    }

(二)实时定位

//初始化地图;
var map;

function map_init() {
    map = new BMap.Map("lock_map", {enableMapClick: false});
    var point = new BMap.Point(120.199672, 30.331184);
    map.centerAndZoom(point, 17);
    map.enableScrollWheelZoom();

    // 添加定位控件;
    var geolocationControl = new BMap.GeolocationControl();
    map.addControl(geolocationControl);
    //绑定定位成功后事件
    geolocationControl.addEventListener("locationSuccess", function (e) {
        console.log(e.point.lng) //定位成功后调用逆地址解析函数
    });
    //绑定定位失败后事件
    geolocationControl.addEventListener("locationError", function (e) {
        //console.log(e);
        map.centerAndZoom("宁波市", 17); //用城市名设置地图中心点
    });

    //自动定位;
    getBdGeo();

    function getBdGeo() {
        var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition(function (r) {
            if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                map.clearOverlays();
                map.panTo(r.point);
                //alert(JSON.stringify(r));
                $("#poi_address").val(r.address.province + r.address.city + r.address.district + r.address.street + r.address.street_number);
                $("#lnglat").val(r.point.lng + "," + r.point.lat)

                //返回当前中心点;
                var points = new BMap.Point(r.point.lng, r.point.lat);
                map.centerAndZoom(points, 17);

                //添加标注;
                var marker = new BMap.Marker(points);
                map.addOverlay(marker);
                marker.enableDragging();
                marker.addEventListener('dragend', function () {
                    //console.log(marker.getPosition().lat);
                    $("#lnglat").val(marker.getPosition().lng + "," + marker.getPosition().lat)
                })
            } else {
                //定位失败
                layer.msg('无法获取定位,系统将自动定位,错误码:' + this.getStatus(), {icon: 2, time: 1000}, function () {
                    map.centerAndZoom("宁波市", 17); //用城市名设置地图中心点
                })
            }
        }, function (error) {
            console.log(error);
        }, {
            enableHighAccuracy: true,//是否要求高精度的地理位置信息
            timeout: 1000,//对地理位置信息的获取操作做超时限制,如果再该事件内未获取到地理位置信息,将返回错误
            maximumAge: 0//设置缓存有效时间,在该时间段内,获取的地理位置信息还是设置此时间段之前的那次获得的信息,超过这段时间缓存的位置信息会被废弃
        });
    }
}

三、界面展示

(一)微信小程序端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(二)H5展示页

在这里插入图片描述
在这里插入图片描述

(三)PC端

在这里插入图片描述

(四)PHP后台管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、技术特点

(一)支持私有部署

私有部署指将软件部署在自己的服务器或云服务器上,而非使用第三方提供的服务。LOCKGIS支持私有部署:

  1. 安全性更高:私有部署可以更好地保护敏感数据和知识产权,避免数据泄露和侵权。
  2. 可定制性更强:私有部署可以根据企业自身需要进行自定义和定制,更加符合企业的业务需求。
  3. 可控性更强:私有部署可以实时监控和管理系统的运行状况和数据流向,更加可控。
  4. 成本更低:私有部署可以避免使用第三方服务带来的成本,并且可以使用现有设备或云服务器,降低硬件成本。
  5. 没有依赖第三方:私有部署不需要依赖第三方提供的服务,不会因为第三方服务的限制而受到影响。

(二)LOCKGIS开发特点

作为一个GIS开发应用,需要操作和处理地理和空间数据,通过构建运行在地图上的用户界面,将这些数据可视化。

  1. 优秀的地图底层
    地图是GIS应用程序的核心,为了让地图有效,需要针对市场实际情况选择地图底层,以便更好的展示业务需求,创造业务场景。在设计地图时,需要考虑数据的层次结构和可视化效果,同时要确保地图简洁易懂。LOCKGIS采用百度地图开发平台技术接口,解决市场需求。
  2. 数据获取和处理
    GIS应用程序需要读取和处理大量地理和空间数据。因此,LOCKGIS采用PHP+MySQL开发,从不同的数据源中获取这些数据,并在应用程序中处理和存储它们。
  3. GIS API
    GIS同一采用百度地图开发API和腾讯地图开发API(微信小程序环境内)实现应用程序中调用地图、地理和空间数据,并将其可视化。
  4. 数据库管理
    GIS应用程序需要使用数据库来存储和管理地图数据。系统采用开源MySQL数据库,按照实际需求设计数据表,并合理化使用SQL查询来处理数据和战术数据。
  5. 空间分析
    GIS应用程序进行空间分析来解决各种问题,使用空间数据分析库,如Geospatial Analytics、Shapely和GDAL,来执行空间分析。
  6. 地理编码和反向地理编码
    地理编码将地理位置转换为地址,反向地理编码将地址转换为地理位置,通过第三方API和库来实现这些功能,对于用户来说,仅需点击操作即可。
  7. 用户界面设计
    GIS应用程序的用户界面应该易于使用并且功能强大。通过了解用户界面设计的最佳实践,使用JavaScript和HTML/CSS来构建动态、交互式的用户界面。

(三)功能延伸

  • 支持图标标注功能
  • 支持文字标签功能
  • 支持信息弹窗功能
  • 支持地图调起,实现导航功能
  • 支持坐标采集功能
  • 支持标注筛选查询功能
  • 支持位置纠偏功能

按照业务需求,可以实现更多复杂的功能,如:

  • 支持富文本信息弹窗框(图片、视频信息展示)
  • 支持POI兴趣点之间直接距离测算
  • 支持路线规划
  • 支持圆形区域POI检索

@漏刻有时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/529337.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Excel快捷键大全(2023最新版总结)

案例:Excel快捷键大全 【作为一名打工人,我总是要用到Excel表格,大家平常在使用Excel时都有什么比较好用的快捷键推荐吗?】 Excel是一款功能强大的电子表格软件,可以用于数据管理、计算、分析和报表生成等多种任务。…

HDFS的数据流

1.HDFS写数据流程 (1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。 (2)NameNode返回是否可以上传。 (3)客户端…

Shell系统编程三剑客之----AWK

目录 1.AWK工具简介 2.AWK的基本格式 3.AWK工作原理 4.常见的内建变量(可直接用) 二: AWK实例 1.按行输出文本 2.按字段输出文本 3.通过管道、双引号调用 Shell 命令 4.date命令输出时间 5. 查看内存使用占比 6.查看cpu使用占比 7.…

【linux】shell编程—快捷命令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、快捷排序 - sort二、快捷去重 - uniq三、快捷替换 - tr四、快速裁剪 - cut五、文件拆分 - split六、文件合并 - paste七、变量扫描器 - eval 一、快捷排序 - so…

5个良心好用的Windows神级软件,让你打开新世界的大门

今天再次推荐5个良心好用的Windows神级软件,每一个都是完全免费,堪称神器,让你打开新世界的大门。 1.PPT插件——OneKeyTools OK插件是一款免费的PPT插件,让你的PPT制作有无限可能!它的功能,太多了&#…

CoCo数据集-目标检测指标MAP

文章目录 一、前言二、评价指标的一些概念2.1.一些概念2.2.概念介绍2.3.MAP求解 三、理解CoCo的评价指标四、总结五、学习视频、Coco官方地址 一、前言 前面学习了coco数据集但是不知道它的评价指标,所以写下来作为自己的笔记,以后还是直接在这写好再保…

算法设计期末考试

算法设计期末考试 1.分治法3选11.1全排列1.2二分法--金块问题1.3子数组换位问题 2.贪心选2题2.1 活动安排2.2 活动安排(改)2.3 最优装载2.4 多机调度2.5 最优服务次序问题2.6 多处最优服务次序问题 3.动态规划选1-2题3.1最长公共子序列3.2最大子段和3.3 …

这个原因,让你自动化测试年薪30W+也不能躺平

其实这个问题,我们遇到到很多次: “自动化就可以满足我现在的公司需求,为什么不躺平,还要继续学测开?” 每次遇到这个问题后,立马就会有一个“涨薪效应”:收到粉丝们的高薪offer ​ 其实&#x…

星河案例ㅣ中国电信 X 冲量在线:基于智算中心的隐私计算应用实践

▏摘要 中国电信是中国三大运营商之一,为响应国家“东数西算”工程的全新数据中心形态,中国电信引入隐私计算平台,对内实现数据确权跟踪、对外实现数据共享交易,盘活中国电信分布在全国不同区域的数据资源和算力资源,…

软件测试行业对新人友好吗?为什么?

随着信息技术的迅猛发展,软件测试行业成为了一个备受青睐的职业领域,但是对于没有经验和专业背景的新人来说,进入这个行业是否容易,是否有足够的发展空间呢?接下来从多个方面分析和介绍。 如果你想学习软件测试&#…

踩坑:MapperScannerConfigurer导致@PropertySource中@Value无效

问题描述 问题描述:在配置类中使用PropertySource引入了.properties文件,但是使用Value注入时,结果竟然null。 郁闷了一上午。 在Spring与MyBatis整合时,需要注入MyBatis的自动扫描配置类MapperScannerConfigurer的Bean 我用的是…

[Orillusion]-使用 -windwos-4行命令

前两天看了webgpu的开源库Orillusion | 专业 WebGPU 引擎 Orillusion感觉很不错的样子,准备试一下。因为都是做OpenGL和windows桌面端。 web有点小陌生,记录一下。 准备: Google Chrome Canary 最新版,老版本有问题 nodejs 版…

ChatGPT商业源码授权

ChatGPT商业源码是由OpenAI公司开发并拥有版权的,未经授权擅自使用、复制、分发或修改可能涉及侵犯知识产权等法律问题,并可能会受到相应的法律惩罚。 如果您需要使用ChatGPT商业版,可以考虑通过OpenAI官方渠道进行授权购买。此外&#x…

ENSP网络综合实验(WALN+隧道+NAT)

实验拓扑 https://wwa.lanzoub.com/ivTyH0w8vz6d 设备接入、汇聚交换机(S3700、S5700)、路由器(AR3200)为例。 接入层:用户角色包括员工(接入方式包括有线和无线)和访客(仅能通过无…

深入了解ribbon源码

ribbon源码解析 自动装配 依赖 <!--添加ribbon的依赖--> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></dependency>spring-cloud-starter-netflix-…

skywalking agent使用kafka数据传输

安装Zookeeper 下载相应版本的zookeeper 解压文件 tar -vxzf apache-zookeeper-3.8.0-bin.tar.gz进入conf目录下&#xff0c;复制zoo_sample.cfg文件&#xff0c;这个是官方提供的配置样例&#xff0c;我们修改复制的文件名称未zoo.cfg。 进入bin目录&#xff0c;启动zookeep…

医院三级质控信息化支撑工具之一

建立组织,完善管理制度 新华社北京3月23日电 近日&#xff0c;中共中央办公厅、国务院办公厅印发了《关于进一步完善医疗卫生服务体系的意见》&#xff0c;并发出通知&#xff0c;要求各地区各部门结合实际认真贯彻落实。(原文地址:中共中央办公厅 国务院办公厅印发《关于进一步…

【读论文】Seeing Beyond the Brain:MinD-Vis

Seeing Beyond the Brain: Conditional Diffusion Model with Sparse Masked Modeling for Vision Decoding CVPR 2023 基于稀疏掩膜的条件扩散模型视觉解码 背景 了解大脑活动并恢复编码信息是认知神经科学的关键目标&#xff0c;但由于脑信号的复杂潜在表征以及相关数据&a…

Nginx 配置 安全认证 反向代理 HDFS web 页面

Nginx 配置安全认证 反向代理 HDFS web 页面 这样做的目的是&#xff1a;相对安全一些&#xff0c;之前都是直接“裸奔”经常被攻击很讨厌 文章目录 1、下载 NGINX2、解压 NGINX3、编译 NGINX4、编译后&#xff0c;确认 NGINX 安装目录5、配置 NGINX 为系统服务6、安装 密码生…

企业直播时摄像机拍摄参考与取景框裁切参考(组图)

看了《2023中国企业直播应用标准》之后&#xff0c;内容摘要&#xff1a; 企业品质直播标准要素&#xff1a;直播视觉、直播运营、演播厅管理、直播合规以及主播能力。 直播视觉&#xff1a;影响用户的品牌的认知度和好感度直播视觉是直播的第一印象&#xff0c;也是传达企业…