mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-29 21:17:17 +00:00
22 lines
879 B
CoffeeScript
22 lines
879 B
CoffeeScript
Darkswarm.directive 'mapOsmTiles', ($timeout) ->
|
|
restrict: 'E'
|
|
require: '^googleMap'
|
|
scope: {}
|
|
link: (scope, elem, attrs, ctrl) ->
|
|
$timeout =>
|
|
map = ctrl.getMap()
|
|
|
|
map.mapTypes.set 'OSM', new google.maps.ImageMapType
|
|
getTileUrl: (coord, zoom) ->
|
|
# "Wrap" x (logitude) at 180th meridian properly
|
|
# NB: Don't touch coord.x because coord param is by reference, and changing its x property breaks something in Google's lib
|
|
tilesPerGlobe = 1 << zoom
|
|
x = coord.x % tilesPerGlobe
|
|
if x < 0
|
|
x = tilesPerGlobe + x
|
|
# Wrap y (latitude) in a like manner if you want to enable vertical infinite scroll
|
|
'https://a.tile.openstreetmap.org/' + zoom + '/' + x + '/' + coord.y + '.png'
|
|
tileSize: new google.maps.Size(256, 256)
|
|
name: 'OpenStreetMap'
|
|
maxZoom: 18
|