[player-tracker] open popup when clicking on a player

This commit is contained in:
fkloft 2015-02-12 16:38:10 +01:00
parent 4dd877fdb8
commit 754dfc6192

View File

@ -409,6 +409,8 @@ window.plugin.playerTracker.drawData = function() {
m.on('mouseout', function() { $(this._icon).tooltip('close'); }); m.on('mouseout', function() { $(this._icon).tooltip('close'); });
} }
playerData.marker = m;
m.addTo(playerData.team === 'RESISTANCE' ? plugin.playerTracker.drawnTracesRes : plugin.playerTracker.drawnTracesEnl); m.addTo(playerData.team === 'RESISTANCE' ? plugin.playerTracker.drawnTracesRes : plugin.playerTracker.drawnTracesEnl);
window.registerMarkerForOMS(m); window.registerMarkerForOMS(m);
@ -487,34 +489,39 @@ window.plugin.playerTracker.handleData = function(data) {
plugin.playerTracker.drawData(); plugin.playerTracker.drawData();
} }
window.plugin.playerTracker.findUserPosition = function(nick) { window.plugin.playerTracker.findUser = function(nick) {
nick = nick.toLowerCase(); nick = nick.toLowerCase();
var foundPlayerData = undefined; var foundPlayerData = false;
$.each(plugin.playerTracker.stored, function(plrname, playerData) { $.each(plugin.playerTracker.stored, function(plrname, playerData) {
if (playerData.nick.toLowerCase() === nick) { if (playerData.nick.toLowerCase() === nick) {
foundPlayerData = playerData; foundPlayerData = playerData;
return false; return false;
} }
}); });
return foundPlayerData;
}
if (!foundPlayerData) { window.plugin.playerTracker.findUserPosition = function(nick) {
return false; var data = window.plugin.playerTracker.findUser(nick);
} if (!data) return false;
var evtsLength = foundPlayerData.events.length; var last = data.events[data.events.length - 1];
var last = foundPlayerData.events[evtsLength-1];
return plugin.playerTracker.getLatLngFromEvent(last); return plugin.playerTracker.getLatLngFromEvent(last);
} }
window.plugin.playerTracker.centerMapOnUser = function(nick) { window.plugin.playerTracker.centerMapOnUser = function(nick) {
var position = plugin.playerTracker.findUserPosition(nick); var data = plugin.playerTracker.findUser(nick);
if(!data) return false;
if (position === false) { var last = data.events[data.events.length - 1];
return false; var position = plugin.playerTracker.getLatLngFromEvent(last);
}
if(window.isSmartphone()) window.show('map'); if(window.isSmartphone()) window.show('map');
window.map.setView(position, map.getZoom()); window.map.setView(position, map.getZoom());
if(data.marker) {
window.plugin.playerTracker.onClickListener({target: data.marker});
}
} }
window.plugin.playerTracker.onNicknameClicked = function(info) { window.plugin.playerTracker.onNicknameClicked = function(info) {