最近做的一个项目, 一开始以为是做路线规划, 后来说是做导航
$.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闭包造成的;
记录下代码
// 获取商品集合集合并且传回来的是名称和经纬度
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闭包造成的;

本文介绍了一个使用Ajax从服务器获取店铺位置数据,并将其显示在地图上的项目案例。通过解析返回的JSON数据,项目实现了在地图上添加标记并展示店铺名称的功能。然而,在尝试进行导航时遇到了问题:尽管地图上正确显示了所有标记,但导航功能只针对最后一个标记的位置工作。
3471

被折叠的 条评论
为什么被折叠?



