找回密码
 立即注册

QQ登录

只需一步,快速开始

AAA努力才幸福

初级会员

26

主题

84

帖子

338

积分

初级会员

积分
338
AAA努力才幸福
初级会员   /  发表于:2023-4-6 10:16  /   查看:1578  /  回复:4
1金币




调用百度地图提示跨域问题如何解决


以下是JS代码,大神帮忙看看如何解决活字格提示跨域问题


  1. // 获取当前页面
  2. var p = Forguncy.Page;

  3. // 导入百度地图API库
  4. var BMap = window.BMap || {};

  5. // 获取包含地图的DOM元素
  6. var element = $("[fgcname='chart']")[0];

  7. // 创建Map实例
  8. var map = new BMap.Map(element);

  9. // 初始化地图,设置中心点坐标和地图级别
  10. map.centerAndZoom(new BMap.Point(113.636878,34.757711), 8);

  11. // 添加地图类型控件
  12. map.addControl(new BMap.MapTypeControl({
  13.   mapTypes: [
  14.     BMAP_NORMAL_MAP,
  15.     BMAP_HYBRID_MAP
  16.   ]
  17. }));

  18. // 设置地图显示的城市
  19. map.setCurrentCity("郑州");

  20. // 开启鼠标滚轮缩放
  21. map.enableScrollWheelZoom(true);

  22. // 读取A1单元格中的JSON数据
  23. var data = JSON.parse(p.getCell("gps").getValue());

  24. // 批量标记坐标点
  25. data.forEach(function(point) {
  26.   var coords = point.gps.split(";");
  27.   var pointLatLng = new BMap.Point(coords[0], coords[1]);

  28.   // 创建标记点
  29.   var marker = new BMap.Marker(pointLatLng);
  30.   map.addOverlay(marker);

  31.   // 点击标记点弹出信息框
  32.   var infoWindow = new BMap.InfoWindow();
  33.   marker.addEventListener("click", function() {
  34.     // 构建信息框内容
  35.     var content = "";


  36.     if (point.物资名称) {
  37.       content += "<div>物料名称:" + point.物资名称 + "</div>";
  38.     }

  39.     if (point.gys_mc) {
  40.       content += "<div>供应商:" + point.gys_mc + "</div>";
  41.     }

  42.     if (point.xmmc) {
  43.       content += "<div>项目名称:" + point.xmmc + "</div>";
  44.     }

  45.     if (point.收货人) {
  46.       content += "<div>收货人:" + point.收货人 + "</div>";
  47.     }

  48.     infoWindow.setContent(content);

  49.     // 显示信息框
  50.     map.openInfoWindow(infoWindow, pointLatLng);
  51.   });
  52. });
复制代码


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

最佳答案

查看完整内容

跨域问题一般还要看被调用的api是否支持跨域,可以看看百度那边的文档,是否有方案可以在前端调用~

4 个回复

正序浏览
AAA努力才幸福
初级会员   /  发表于:2023-4-6 11:53:30
4#
我是在页面上设置了一个名字为chart的单元格,然后直接用JavaScript创建地图并获取经纬度直接标记点
回复 使用道具 举报
风吹萤火54199
初级会员   /  发表于:2023-4-6 11:40:11
3#
楼主是需要如何和百度地图对接,我之前只在后端对接过百度地图开放平台的接口,建议可以将部分逻辑放在服务端命令调用HTTP请求命令的方式获取数据,然后在前端展示~
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2023-4-6 11:13:08
2#
大佬,能给个可以运行的demo看看吗?看看大佬具体是怎么玩的。
另外可以查下百度地图的文档,看看对接的时候还有什么需要注意的地方或者设置项。
回复 使用道具 举报
最佳答案
最佳答案
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2023-4-6 10:16:42
来自 5#
跨域问题一般还要看被调用的api是否支持跨域,可以看看百度那边的文档,是否有方案可以在前端调用~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部