【APIcould】使用bMap模块和mcm数据库模块,展示在地图上面画点和画线,可以显示历史轨迹

本文介绍如何使用bMap模块在地图上绘制点和线。通过APIcould的bMap模块,可以轻松实现在地图上标记位置和绘制路径的功能。文章提供了具体的代码示例,展示了如何从数据库获取坐标信息,并利用bMap的addCircle和addLine方法在地图上呈现这些信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

APIcould通过bMap模块实现在地图上画点,划线

这是bMap的官方文档,方法中的不知道的可以在文档中找:https://docs.apicloud.com/Client-API/Open-SDK/bMap
首先是画点,

apiready = function(){
          var map = api.require("bMap");
          map.open({          //打开地图
              rect: {
                  x: 0,
                  y: 0,
                  w: 'auto',
                  h: 'auto'
              },
              zoomLevel: 18,
              showUserLocation: true,
          });
          var model = api.require("model");
          model.config({
            appKey:"762D5346-11D5-9402-D35B-69017EA4F345",
            host:"https://d.apicloud.com"
          });
          model.findAll({
              class: 'user_patrol',
              qid: ''
          },function(ret,err){
              if(ret){
                for (var i = 0; i < ret.length; i++) {
                    map.addCircle({
                      id: i,
                      center: {
                          lon: ret[i].lon,
                          lat: ret[i].lat
                      },
                      radius: 10,
                      styles: {
                          borderColor: '#FF0000',
                          borderWidth: 3,
                          fillColor: '#0000ff'
                      }
                    });
                }
              }
          });

      };

这个画出的点都是引用的数据库,就是APIcould网上自带的数据库,就是下图的这个数据库
在这里插入图片描述
这个是手机上面的效果
在这里插入图片描述

另外一个就是画线了,

首先就是网上有很多的做法,几乎都是用了BMap点出一些方法,但是BMap好像要一些别的条件,一开始不能直接用,我这里就是没有用到BMap,而是用了bMap模块,在APIcould官网上加模块,然后根据文档配置key就可以直接用了,
代码如下

apiready = function(){
        var map = api.require("bMap");
        map.open({          //打开地图
            rect: {
                x: 0,
                y: 0,
                w: 'auto',
                h: 'auto'
            },
            zoomLevel: 18,
            showUserLocation: true,
        });
        var model = api.require("model");
        model.config({
          appKey:"762D5346-11D5-9402-D35B-69017EA4F345",
          host:"https://d.apicloud.com"
        });
        model.findAll({
            class: 'user_HistoricalPath',
            qid: ''
        },function(ret,err){
            if(ret){
              for (var i = 0; i < ret.length; i++) {
                  if(i>0){
                  //下面的addline就是划线的方法
                    map.addLine({
                        id: i,
                        styles: {
                            borderColor: '#FF0000',
                            borderWidth: 3
                         },
                         points: [{
                             lon:ret[i-1].lon,
                             lat:ret[i-1].lat
                         },{
                             lon: ret[i].lon,
                             lat: ret[i].lat
                         }]
                    });
                  }
              }
            }
        });
      };

因为这里用了for循环,所以说是可以划出任意个点的,然后在我上篇博客里面的子线程时间缩短的话,就可以划出比较真实的轨迹了,

然后数据库也是网上的,和上面的那个图一样,就不发了
这个是效果图,那个比地铁线细好多的,就是用数据库的点画出来的线
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值