找回密码
 立即注册

QQ登录

只需一步,快速开始

AAA努力才幸福

初级会员

26

主题

84

帖子

338

积分

初级会员

积分
338
AAA努力才幸福
初级会员   /  发表于:2023-3-5 13:14  /   查看:2757  /  回复:13
100金币
本帖最后由 AAA努力才幸福 于 2023-3-6 09:28 编辑

如题,批量把数据表中的经纬度标记到地图上

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

13 个回复

倒序浏览
AAA努力才幸福
初级会员   /  发表于:2023-3-6 09:29:02
来自 4#
  1. var p = Forguncy.Page; // 获取当前页面
  2. var element = $("[fgcname='chart']")[0];
  3. var map = new BMap.Map(element); // 创建Map实例
  4. map.centerAndZoom(new BMap.Point(113.636878,34.757711), 8); // 初始化地图,设置中心点坐标和地图级别

  5. // 添加地图类型控件
  6. map.addControl(new BMap.MapTypeControl({
  7.   mapTypes: [
  8.     BMAP_NORMAL_MAP,
  9.     BMAP_HYBRID_MAP
  10.   ]
  11. }));
  12. map.setCurrentCity("郑州"); // 设置地图显示的城市 此项是必须设置的
  13. map.enableScrollWheelZoom(true);

  14. // 读取A1单元格中的JSON数据
  15. var data = JSON.parse(Forguncy.Page.getCell("gps").getValue());

  16. // 批量标记坐标点
  17. data.forEach(function(point) {
  18.   var coords = point.gps.split(";");
  19.   var pointLatLng = new BMap.Point(coords[0], coords[1]);
  20.   
  21.   // 创建标记点
  22.   var marker = new BMap.Marker(pointLatLng);
  23.   map.addOverlay(marker);

  24.   // 点击标记点弹出信息框
  25.   var infoWindow = new BMap.InfoWindow();
  26.   marker.addEventListener("click", function() {
  27.     // 构建信息框内容
  28.     var content = "";
  29.     if (point.file_id) {
  30.       content += "<div>附件:<a href='/file/" + point.file_id + "' target='_blank'>" + point.file_name + "</a></div>";
  31.     }
  32.     if (point.image_url) {
  33.       content += "<div>图片:<img src='" + point.image_url + "'></div>";
  34.     }
  35.     if (point.物料名称) {
  36.       content += "<div>物料名称:" + point.物料名称 + "</div>";
  37.     }
  38.     if (point.项目名称) {
  39.       content += "<div>项目名称:" + point.项目名称 + "</div>";
  40.     }
  41. if (point.收货人) {
  42.       content += "<div>收货人:" + point.收货人 + "</div>";
  43.     }
  44.     infoWindow.setContent(content);

  45.      // 显示信息框
  46.     map.openInfoWindow(infoWindow, pointLatLng);
  47.   });
  48. });
复制代码
注意json数据格式,其他设置参考官方百度组件在设置内添加接口
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2023-3-6 09:00:21
板凳
您好,代码方面我们也不太擅长,不过我可以帮你在我们的项目需求及大群宣传一下,
那边有很多大神,说不定几天就搞好了,不过这种事一般是有偿的,需要的话,留下您的电话号码
回复 使用道具 举报
AAA努力才幸福
初级会员   /  发表于:2023-3-6 09:26:22
地板
已经解决了,以下代码可以实现,
注意json数据格式及字段
  1. var p = Forguncy.Page; // 获取当前页面
  2. var element = $("[fgcname='chart']")[0];
  3. var map = new BMap.Map(element); // 创建Map实例
  4. map.centerAndZoom(new BMap.Point(113.636878,34.757711), 8); // 初始化地图,设置中心点坐标和地图级别

  5. // 添加地图类型控件
  6. map.addControl(new BMap.MapTypeControl({
  7.   mapTypes: [
  8.     BMAP_NORMAL_MAP,
  9.     BMAP_HYBRID_MAP
  10.   ]
  11. }));
  12. map.setCurrentCity("郑州"); // 设置地图显示的城市 此项是必须设置的
  13. map.enableScrollWheelZoom(true);

  14. // 读取A1单元格中的JSON数据
  15. var data = JSON.parse(Forguncy.Page.getCell("gps").getValue());

  16. // 批量标记坐标点
  17. data.forEach(function(point) {
  18.   var coords = point.gps.split(";");
  19.   var pointLatLng = new BMap.Point(coords[0], coords[1]);
  20.   
  21.   // 创建标记点
  22.   var marker = new BMap.Marker(pointLatLng);
  23.   map.addOverlay(marker);

  24.   // 点击标记点弹出信息框
  25.   var infoWindow = new BMap.InfoWindow();
  26.   marker.addEventListener("click", function() {
  27.     // 构建信息框内容
  28.     var content = "";
  29.     if (point.file_id) {
  30.       content += "<div>附件:<a href='/file/" + point.file_id + "' target='_blank'>" + point.file_name + "</a></div>";
  31.     }
  32.     if (point.image_url) {
  33.       content += "<div>图片:<img src='" + point.image_url + "'></div>";
  34.     }
  35.     if (point.物料名称) {
  36.       content += "<div>物料名称:" + point.物料名称 + "</div>";
  37.     }
  38.     if (point.项目名称) {
  39.       content += "<div>项目名称:" + point.项目名称 + "</div>";
  40.     }
  41. if (point.收货人) {
  42.       content += "<div>收货人:" + point.收货人 + "</div>";
  43.     }
  44.     infoWindow.setContent(content);

  45.      // 显示信息框
  46.     map.openInfoWindow(infoWindow, pointLatLng);
  47.   });
  48. });
复制代码

评分

参与人数 1金币 +5 收起 理由
Joe.xu + 5 很给力!

查看全部评分

回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2023-3-6 10:00:04
5#
回复 使用道具 举报
ToPMonsTeR
注册会员   /  发表于:2024-6-16 15:02:13
6#
你找到解决办法了吗?
回复 使用道具 举报
AAA努力才幸福
初级会员   /  发表于:2024-6-16 15:13:29
7#
ToPMonsTeR 发表于 2024-6-16 15:02
你找到解决办法了吗?

js写,看我上面的代码就可以实现。
回复 使用道具 举报
ToPMonsTeR
注册会员   /  发表于:2024-6-16 15:19:17
8#
AAA努力才幸福 发表于 2024-6-16 15:13
js写,看我上面的代码就可以实现。

读取A1单元格的Jason数据这个我有点不太理解
回复 使用道具 举报
ToPMonsTeR
注册会员   /  发表于:2024-6-16 15:30:25
9#
按照代码复制进出运行后没有反应.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
AAA努力才幸福
初级会员   /  发表于:2024-6-16 16:01:21
10#
ToPMonsTeR 发表于 2024-6-16 15:19
读取A1单元格的Jason数据这个我有点不太理解

把数据库的每一组经纬度。合成一个数组
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部