自2018年10月18日起,高德开发者论坛除车机板块外,其他板块将停止发帖与维护,如您有使用问题请 提交工单 联系我们,感谢您的理解。

查看: 236|回复: 2
打印 上一主题 下一主题

[已解决]map.routePath 室内路径规划,调用没反应?

[复制链接]
最佳答案
1 

2

主题

6

帖子

26

积分

新手上路

Rank: 1

积分
26
跳转到指定楼层
楼主
发表于 2016-12-28 15:59:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我想对原有的规划功能上修改一下。于是在 map 初始化后对 DOM 进行操作。

大概思路是在地图上先点击一个地点作为起始地点(或者是倒数第二次点击),记录为 routePath的起始点参数。用的是map.on('click');



同样还有一个用来记录目的地的坐标的函数。用的是 map.on('shopclick facilityclick)
然后把原先已经生成的去那里图标 ,删除,在添加一个一样的,然后在新添加的标签元素添加 onclick 事件。
这个新添加的击事件就是用来调用 routePath。 问题是在调用 routePath 后,回调的成功函数信息会在控制栏里正确输出。
最后贴一下代码。
map.once('mapready',function() {
     var stopSF = {},startUG = {},place= [],stopplace = [];
     map.on('click',clickSomeWhere);
     function clickSomeWhere(e) {
             place.push(e.latlng.lat);
             place.push(e.latlng.lng);
             if (place.length>2){
                 startUG.x = place[place.length - 4];
                 startUG.y = place[place.length - 3];
                 startUG.floor = map.getFloor();
             }else {
                 startUG.x = place[1];
                 startUG.y = place[0];
                 startUG.floor = map.getFloor();
             }
             return startUG;
     }
     map.on('shopclick facilityclick ',getTheMark);
     function getTheMark() {
         setTimeout(function(){
             if (document.querySelector('span.c-d-popimg')!=null)
             {
                 const gosButton = document.querySelector('span.c-d-popimg');
                 gosButton.remove();
             }
             var poptitle = document.querySelector('div.c-d-popdiv');
             var spanimg = document.createElement('span');
             spanimg.setAttribute('class','ss');
             spanimg.innerHTML = '<img title="\u53bb\u8fd9\u91cc" src="" >'
             poptitle.appendChild(spanimg);
             spanimg.onclick = function () {
                 function sucessback() {
                     console.log('ok');
                 }
                 function errback() {
                     console.log('error');
                 }
                 if (place.length<=2){
                     alert('please choose a place');
                 }
                 map.routePath(startUG,stopSF,sucessback,errback,{showTip:false});
             };
         },200);
     }
     map.on('shopclick facilityclick',clickSomeShop);
     function clickSomeShop(e) {
         const shopx = (e[["centroid"][0]][0]);
         stopplace.push(shopx);
         const shopy = (e[["centroid"][0]][1]);
         stopplace.push(shopy);
         stopSF.x = (stopplace[stopplace.length-2]);
         stopSF.y = (stopplace[stopplace.length-1]);
         stopSF.floor = map.getFloor();
         return stopSF;
     }

});


回复

使用道具 举报

最佳答案
1 

2

主题

6

帖子

26

积分

新手上路

Rank: 1

积分
26
沙发
 楼主| 发表于 2016-12-28 16:48:46 | 只看该作者    本楼为最佳答案   
是我自己的代码问题。起点坐标获取不正确。这个要怎么删除帖子啊
回复 支持 反对

使用道具 举报

最佳答案
94 

11

主题

178

帖子

1048

积分

超级版主

Rank: 8Rank: 8

积分
1048
板凳
发表于 2017-1-13 15:10:48 | 只看该作者
陈楠川 发表于 2016-12-28 16:48
是我自己的代码问题。起点坐标获取不正确。这个要怎么删除帖子啊

您好,非常感谢您对高德室内地图的关注。
不用删除帖子,我直接设置您的问题为已经解决就可以了。
再次感谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|高德开发者论坛

Copyright ©2014 高德开发者论坛.All Rights Reserved |京ICP证070711号

意见反馈 常见问题 服务条款 联系我们
快速回复 返回顶部 返回列表