add level_index so short_label can look nicer
This commit is contained in:
parent
6167c92e98
commit
fe98f5e618
14 changed files with 89 additions and 31 deletions
|
|
@ -12,7 +12,7 @@ class LocationConverter:
|
|||
|
||||
|
||||
class CoordinatesConverter:
|
||||
regex = r'[a-z0-9-_:]+:-?\d+(\.\d+)?:-?\d+(\.\d+)?'
|
||||
regex = r'[a-z0-9-_.]+:-?\d+(\.\d+)?:-?\d+(\.\d+)?'
|
||||
|
||||
def to_python(self, value):
|
||||
return value
|
||||
|
|
@ -25,7 +25,7 @@ AtPos = namedtuple('AtPos', ('level', 'x', 'y', 'zoom'))
|
|||
|
||||
|
||||
class AtPositionConverter:
|
||||
regex = r'(@[a-z0-9-_:]+,-?\d+(\.\d+)?,-?\d+(\.\d+)?,-?\d+(\.\d+)?)?'
|
||||
regex = r'(@[a-z0-9-_.]+,-?\d+(\.\d+)?,-?\d+(\.\d+)?,-?\d+(\.\d+)?)?'
|
||||
|
||||
def to_python(self, value):
|
||||
if not value:
|
||||
|
|
|
|||
|
|
@ -758,7 +758,7 @@ c3nav = {
|
|||
url += 'options/'
|
||||
}
|
||||
if (state.center) {
|
||||
url += '@' + String(c3nav.level_labels_by_id[state.level]) + ',' + String(state.center[0]) + ',' + String(state.center[1]) + ',' + String(state.zoom);
|
||||
url += '@' + String(c3nav.level_indices_by_id[state.level]) + ',' + String(state.center[0]) + ',' + String(state.center[1]) + ',' + String(state.zoom);
|
||||
}
|
||||
return url
|
||||
},
|
||||
|
|
@ -1414,9 +1414,9 @@ c3nav = {
|
|||
c3nav.initial_level = 0
|
||||
}
|
||||
|
||||
c3nav.level_labels_by_id = {};
|
||||
c3nav.level_indices_by_id = {};
|
||||
for (i = 0; i < c3nav.levels.length; i++) {
|
||||
c3nav.level_labels_by_id[c3nav.levels[i][0]] = c3nav.levels[i][1];
|
||||
c3nav.level_indices_by_id[c3nav.levels[i][0]] = c3nav.levels[i][1];
|
||||
}
|
||||
|
||||
minZoom = Math.log2(Math.max(0.25, Math.min(
|
||||
|
|
@ -1468,7 +1468,7 @@ c3nav = {
|
|||
c3nav._labelLayer = L.LayerGroup.collision({margin: 5}).addTo(c3nav.map);
|
||||
for (i = c3nav.levels.length - 1; i >= 0; i--) {
|
||||
var level = c3nav.levels[i];
|
||||
var layerGroup = c3nav._levelControl.addLevel(level[0], level[1]);
|
||||
var layerGroup = c3nav._levelControl.addLevel(level[0], level[2]);
|
||||
c3nav._detailLayers[level[0]] = L.layerGroup().addTo(layerGroup);
|
||||
c3nav._locationLayers[level[0]] = L.layerGroup().addTo(layerGroup);
|
||||
c3nav._routeLayers[level[0]] = L.layerGroup().addTo(layerGroup);
|
||||
|
|
@ -1572,7 +1572,7 @@ c3nav = {
|
|||
},
|
||||
_latlng_to_name: function (latlng) {
|
||||
var level = c3nav.current_level();
|
||||
return 'c:' + String(c3nav.level_labels_by_id[level]) + ':' + Math.round(latlng.lng * 100) / 100 + ':' + Math.round(latlng.lat * 100) / 100;
|
||||
return 'c:' + String(c3nav.level_indices_by_id[level]) + ':' + Math.round(latlng.lng * 100) / 100 + ':' + Math.round(latlng.lat * 100) / 100;
|
||||
},
|
||||
_click_anywhere_load: function (nearby, latlng) {
|
||||
if (!c3nav._click_anywhere_popup && !latlng) return;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ from c3nav.mapdata.models.locations import (LocationGroup, LocationRedirect, Pos
|
|||
from c3nav.mapdata.models.report import Report, ReportUpdate
|
||||
from c3nav.mapdata.schemas.models import SlimLocationSchema
|
||||
from c3nav.mapdata.utils.locations import (get_location_by_id_for_request, get_location_by_slug_for_request,
|
||||
levels_by_short_label_for_request)
|
||||
levels_by_level_index_for_request)
|
||||
from c3nav.mapdata.utils.user import can_access_editor, get_user_data
|
||||
from c3nav.mapdata.views import set_tile_access_cookie
|
||||
from c3nav.routing.models import RouteOptions
|
||||
|
|
@ -134,7 +134,7 @@ def map_index(request, mode=None, slug=None, slug2=None, details=None, options=N
|
|||
'nearby': True if nearby else False,
|
||||
}
|
||||
|
||||
levels = levels_by_short_label_for_request(request)
|
||||
levels = levels_by_level_index_for_request(request)
|
||||
|
||||
level = levels.get(pos.level, None) if pos else None
|
||||
if level is not None:
|
||||
|
|
@ -198,7 +198,7 @@ def map_index(request, mode=None, slug=None, slug2=None, details=None, options=N
|
|||
from c3nav.mapdata.models.theme import Theme
|
||||
ctx = {
|
||||
'bounds': json.dumps(Source.max_bounds(), separators=(',', ':')),
|
||||
'levels': json.dumps(tuple((level.pk, level.short_label) for level in levels.values()), separators=(',', ':')),
|
||||
'levels': json.dumps(tuple((level.pk, level.level_index, level.short_label) for level in levels.values()), separators=(',', ':')),
|
||||
'state': json.dumps(state, separators=(',', ':'), cls=DjangoJSONEncoder),
|
||||
'tile_cache_server': settings.TILE_CACHE_SERVER,
|
||||
'initial_level': settings.INITIAL_LEVEL,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue