js添加多marker 高德地图_h5高德地图javascript调起app导航定位多个marker

最近做的一个项目, 一开始以为是做路线规划, 后来说是做导航

记录下代码

// 获取商品集合集合并且传回来的是名称和经纬度

getShop : function(){ $.ajax({        url : contextPath + '/service/mobile/pc/shop',        type : 'POST',        async : false,        dataType : 'JSON'    }).done(function(data, textStatus, jqXHR) {      var _html = '';      $.each(data.list, function(index, row){      lnglats2.push(row);      });      pc.getView();    }); }, getView : function(){ var lnglats = []; $.each(lnglats2, function(index, row){ var lnglats3 = []; lnglats3[0] = row[1]; lnglats3[1] = row[2]; lnglats.push(lnglats3); }); for(var i = 0; i < lnglats.length; i++) { var name = lnglats2[i][0]; var marker = new AMap.Marker({ position: lnglats[i], // 经纬度[21312312,34535435] map: map }); marker.setLabel({                offset: new AMap.Pixel(20, 20),//修改label相对于maker的位置                content: name // 店铺名称            }); (function(x){   marker.on("click", function(){   this.markOnAMAP({                     name:''+this.getLabel().content+'',                     position:this.getPosition() // 经纬度                 })        });    })(i);   } } map.addControl(new AMap.ToolBar()); 在最后的时候, 地图上同时出现了多个标记,但是导航后,导航的地址是最后一个marker的位置, 是由于js闭包造成的;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值