[missions] reduce cached mission search to those having a portal in view

This commit is contained in:
fkloft 2015-05-16 16:21:40 +02:00
parent 5f79a56450
commit f07b4cc529

View File

@ -886,8 +886,10 @@ window.plugin.missions = {
onSearch: function(query) { onSearch: function(query) {
var self = this; var self = this;
var bounds = window.map.getBounds();
if(query.confirmed) { if(query.confirmed) {
this.loadMissionsInBounds(window.map.getBounds(), function(missions) { this.loadMissionsInBounds(bounds, function(missions) {
self.addMissionsToQuery(query, missions); self.addMissionsToQuery(query, missions);
}); });
} }
@ -896,7 +898,15 @@ window.plugin.missions = {
return self.cacheByMissionGuid[guid].data; return self.cacheByMissionGuid[guid].data;
}); });
self.addMissionsToQuery(query, cachedMissions); var cachedMissionsInView = cachedMissions.filter(function(mission) {
return mission.waypoints && mission.waypoints.some(function(waypoint) {
if(!waypoint) return false;
if(!waypoint.portal) return false;
return bounds.contains([waypoint.portal.latE6/1E6, waypoint.portal.lngE6/1E6]);
});
});
self.addMissionsToQuery(query, cachedMissionsInView);
}, },
addMissionsToQuery: function(query, missions) { addMissionsToQuery: function(query, missions) {