1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# FixMyStreet:Map::MasterMap
#
# A combination of FMS OS maps and our own tiles
package FixMyStreet::Map::MasterMap;
use base 'FixMyStreet::Map::FMS';
use strict;
use constant ZOOM_LEVELS => 7;
sub map_template { 'fms' }
sub map_javascript { [
'/vendor/OpenLayers/OpenLayers.wfs.js',
'/js/map-OpenLayers.js',
'/js/map-bing-ol.js',
'/js/map-fms.js',
'/js/map-mastermap.js',
] }
sub map_tiles {
my ( $self, %params ) = @_;
my ( $x, $y, $z ) = ( $params{x_tile}, $params{y_tile}, $params{zoom_act} );
if ($z >= 17) {
my $base = "//%stilma.mysociety.org/mastermap/%d/%d/%d.png";
return [
sprintf($base, 'a.', $z, $x-1, $y-1),
sprintf($base, 'b.', $z, $x, $y-1),
sprintf($base, 'c.', $z, $x-1, $y),
sprintf($base, '', $z, $x, $y),
];
} else {
return $self->SUPER::map_tiles(%params);
}
}
1;
|