【发布时间】:2018-12-02 21:50:03
【问题描述】:
使用 node.js 和 socket.io 在传单地图标记中检索用户位置,socket.io 服务器每 10 秒发出每个连接用户的坐标,如下所示:
{ username: 'abc',
lat: 50.5144613,
lng: 50.2842622,
}
在我使用的客户端:
socket.on('new Location', function(data){
var markers=[];
var result=JSON.stringify(data);
var obj = JSON.parse(result);
if (!markers[obj.username] ) {
markers[obj.username] = L.marker([obj.lat, obj.lng]).bindPopup(obj.username).addTo(map);
} else {
markers[obj.username].setLatLng(obj.lat, obj.lng).setPopupContent(objz.username);
}
当客户端侦听服务器时,这会为每个连接的用户绘制大量标记,而我需要更新每个连接用户的标记位置。 如何更新标记位置而不绘制更多标记?
【问题讨论】:
-
如果我的回答有帮助,请随时接受和/或投票。
-
@peeebeee 我试过了,当尝试更新标记时出现错误:未捕获的 TypeError:无法读取 null 的属性 'lat'