Class: Mapkick::Static::BaseMap

Inherits:
Object
  • Object
show all
Defined in:
lib/mapkick/static/base_map.rb

Direct Known Subclasses

AreaMap, Map

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data, width: 800, height: 500, markers: {}, style: "mapbox/streets-v12", alt: "Map", access_token: nil, view_context: nil) ⇒ BaseMap

Returns a new instance of BaseMap.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/mapkick/static/base_map.rb', line 6

def initialize(data, width: 800, height: 500, markers: {}, style: "mapbox/streets-v12", alt: "Map", access_token: nil, view_context: nil)
  @width = width.to_i
  @height = height.to_i
  @alt = alt
  @view_context = view_context

  prefix = "https://api.mapbox.com/styles/v1"
  style = set_style(style)
  geojson = create_geojson(data, markers)
  overlay = "geojson(#{CGI.escape(JSON.generate(geojson))})"
  viewport = set_viewport(geojson)
  size = "%dx%d" % [@width.to_i, @height.to_i]
  query = set_query(access_token, viewport)

  url = "#{prefix}/#{style}/static/#{overlay}/#{viewport}/#{size}"
  @url = "#{url}?#{query}"
  @url_2x = "#{url}@2x?#{query}"

  check_request_size
end

Instance Attribute Details

#urlObject (readonly)

Returns the value of attribute url.



4
5
6
# File 'lib/mapkick/static/base_map.rb', line 4

def url
  @url
end

#url_2xObject (readonly)

Returns the value of attribute url_2x.



4
5
6
# File 'lib/mapkick/static/base_map.rb', line 4

def url_2x
  @url_2x
end

Instance Method Details

#to_sObject



27
28
29
# File 'lib/mapkick/static/base_map.rb', line 27

def to_s
  @view_context.image_tag(url, alt: @alt, style: image_style, srcset: "#{url} 1x, #{url_2x} 2x")
end