首页 > 其他分享 >百度地图添加坐标点

百度地图添加坐标点

时间:2023-12-29 15:57:43浏览次数:24  
标签:11 pointData objMap 添加 BMap 坐标 var new 百度

html

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>查看签到信息-地图</title>
    <script src='/resources/js/jquery.min.js' type='text/javascript' language='javascript'></script>
    <script src='/resources/js/json2.js' type='text/javascript' language='javascript'></script>
    <script src='/resources/js/app.js?v=202312291520' type='text/javascript' language='javascript'></script>
    <script src='DayAttendanceMap.js?r=202312291520' type='text/javascript' language='javascript'></script>
    <script type="text/javascript" src="https://api.map.baidu.com/api?&v=2.0&ak=用你自己的key"></script>
    <link href="/resources/css/BMapView.css" rel="stylesheet" type="text/css" />
    <style>
        html, body, form {
            height: 100%;
            margin: 0 auto;
        }

        #bdmap {
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div id="bdmap">
        </div>
    </form>
</body>
</html>

js

//重置标点对象
var objMap = null;
var bPoints = new Array();

setTimeout(function () {
    loadData();
}, 100);

function loadData() {
    var map = new BMap.Map("bdmap");
    var point = new BMap.Point(120.157956, 30.277439);
    map.centerAndZoom(point, 11);
    map.enableScrollWheelZoom(true);
    objMap = map;

    var userId = app.getRequest('UserId');
    var attDay = app.getRequest('AttDay');

    $.ajax({
        url: 'Attendance.ashx',
        type: 'POST',
        data: {
            PostType: "get",
            ActionType: "DayAttendance",
            UserId: userId,
            AttDay: attDay,
            r: Math.random()
        },
        dataType: 'json',
        success: function (data) {
            if (data && data.success) {
                $.each(data.rows, function (index) {
                    addPoint(data.rows[index]);
                });
                if (bPoints.length > 0) {
                    //重置缩放级别和中心点
                    var view = objMap.getViewport(eval(bPoints));
                    var mapZoom = view.zoom;
                    var centerPoint = view.center;
                    //objMap.centerAndZoom(centerPoint, mapZoom); mapZoom 自适应缩放级别
                    objMap.centerAndZoom(centerPoint, 11);
                }
            }
        }
    });
}

function addPoint(pointData) {
    if (!pointData.SIGNINCOORDINATE) {
        return;
    }
    var lng = pointData.SIGNINCOORDINATE.split(',')[0];
    var lat = pointData.SIGNINCOORDINATE.split(',')[1];

    var icon = new BMap.Icon("/resources/images/location_small.png", new BMap.Size(14, 22));

    var point = new BMap.Point(parseFloat(lng), parseFloat(lat));

    bPoints.push(point); // 添加到百度坐标数组 用于自动调整缩放级别
    var marker = new BMap.Marker(point, {
        icon: icon
    }); // 创建标注    
    objMap.addOverlay(marker); // 将标注添加到地图中
    var opts = {
        position: point,    // 指定文本标注所在的地理位置
        offset: new BMap.Size(6, -20)    //设置文本偏移量
    }

    var projectName = '';
    if (pointData.PROJECTNAME) {
        projectName = '-' + pointData.PROJECTNAME;
    }

    var label = new BMap.Label(app.getTDate(pointData.SIGNINDATE).substring(11, 16) + '-' + pointData.ATTTYPE + projectName, opts);  // 创建文本标注对象
    label.setStyle({
        color: "red",
        fontSize: "12px",
        height: "20px",
        lineHeight: "20px",
        fontFamily: "微软雅黑"
    });
    objMap.addOverlay(label);
}

数据格式

{
    "total":0,
    "success":true,
    "msg":"",
    "obj":null,
    "rows":[
        {
            "GUID":"3691515d-269c-4f27-b3c0-4b8fbc4fd8f6",
            "LZYUSERID":"9635727a-027d-4200-89d1-c32be2f3d339",
            "SIGNINDATE":"2023-11-23T08:22:43",
            "SIGNINCOORDINATE":"120.11504470442085,30.347792030190185",
            "ATTTYPE":"项目打卡",
            "PROJECTNAME":"杭州余杭新文服饰有限公司厂房改建项目",
            "SIGNMONTH":"2023-11",
            "SIGNDAY":"2023-11-23"
        },
        {
            "GUID":"8d9af7c8-f72c-486f-889e-348357f7d0df",
            "LZYUSERID":"9635727a-027d-4200-89d1-c32be2f3d339",
            "SIGNINDATE":"2023-11-23T17:49:47",
            "SIGNINCOORDINATE":"120.11098424440662,30.333185555269385",
            "ATTTYPE":"项目打卡",
            "PROJECTNAME":"杭政储出【2021】15号地块商业商务用房",
            "SIGNMONTH":"2023-11",
            "SIGNDAY":"2023-11-23"
        }
    ],
    "id":null,
    "text":null,
    "status":null,
    "children":[

    ]
}

最终效果

 

标签:11,pointData,objMap,添加,BMap,坐标,var,new,百度
From: https://www.cnblogs.com/LiuCabbage/p/17935058.html

相关文章

  • Maven 基础认识以及坐标认识(一)
    1、Maven是Apache软件基金会组织维护的一款自动化构建工具,专注服务于Java平台的项目【构建】和【依赖管理】构建的几个环节:①清理:删除以前的编译结果,为重新编译做好准备。②编译:将Java源程序编译为字节码文件。③测试:针对项目中的关键点进行测试,确保项目在迭代开发过......
  • Xcode 15 正式版发布(百度网盘下载) - Apple 平台 IDE
    Xcode15正式版发布(百度网盘下载)-Apple平台IDE发布日期:September18,2023,北京时间9月19日凌晨Xcode15Release(15A240d)-Apple平台IDEIDEforiOS/iPadOS/macOS/watchOS/tvOS/visonOS作者主页:sysin.orgvisonOS支持已更新。Xcode15使您能够为所有Apple平台开发......
  • 百度CTO王海峰:文心一言用户规模破1亿
    “文心一言用户规模突破1亿。”12月28日,百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰在第十届WAVESUMMIT深度学习开发者大会上宣布。会上,王海峰以《文心加飞桨,翩然赴星河》为题作了主旨演讲,分享了飞桨和文心的最新成果。飞桨开发者已达1070万WAVESUMMIT深度学......
  • KubeKey添加新节点
    KubeSphere使用一段时间之后,由于工作负载不断增加,可能需要水平扩展集群。自KubeSpherev3.0.0起,可以使用全新的安装程序 KubeKey 将新节点添加到集群。从根本上说,该操作是基于Kubelet的注册机制。换言之,新节点将自动加入现有的Kubernetes集群。1、工作准备需要一个单......
  • vue 将百度地图或者高德地图组件化
    一、前言百度地图已经有了react相关的组件库,本人用的百度地图v3.0和vue3我仅仅是抛砖引玉,百度地图webgl、高德地图都是一样的,因为底层都是通过js控制地图如果用组件的方式开发,比如我将BMap.Marker作为一个组件,我暴露一个参数position,其目的是控制BMap.Marker位置......
  • 添加一个SQL Server身份验证方式
    关键几步如下,特别是最后一步,记得勾选SQLServer和Windows.    参考网址:如何在SQLSERVER的windows身份验证添加一个SQLServer身份验证方式_sqlserverwindows身份验证添加-CSDN博客 ......
  • 给数组循环遍历添加属性,数组数据打印出来实际已经添加了,但是页面数据并没有展示出来,该
    问题复述,即:在vue项目中中,会遇到修改完数据,但是视图却没有更新的情况问题原因:因为用某些方法修改完数据,vue框架是没办法监听到,无法做到数据响应式,导致数据实际修改了,但页面没展示出来     参考:https://blog.csdn.net/weixin_48998573/article/details/130620390......
  • Linux 添加静态路由
    Linux添加静态路由在日常使用中,服务器有两个IP地址,两块网卡的配置,访问不同网段,这种情况很常见。但我们需要创建额外的路由条目,以确定通过正确的网关转发数据包,使interface能够正常通信。以下在CentOS7测试通过一、使用route命令加入临时路由,重启后将失效route命令参数:add......
  • flutter 添加原生IOS 播放器
    定义播放器FlutterAVPlayer.swiftimportFoundationimportAVKitimportMediaPlayerimportFlutterclassFlutterAVPlayer:NSObject,FlutterPlatformView{privatevar_flutterAVPlayerViewController:AVPlayerViewController;init(frame:CGRect,......
  • 【大模型】快速体验百度智能云千帆AppBuilder搭建知识库与小助手
    文章目录前言千帆AppBuilder什么是千帆AppBuilderAppBuilder能做什么体验千帆AppBuilderJava知识库高考作文小助手总结前言前天,在【百度智能云智算大会】上,百度智能云千帆AppBuilder正式开放服务。这是一个AI原生应用开发工作台,可以满足企业对敏捷和高效地进行AI原生应用开发与运......