socmap_adf 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.rvmrc +1 -1
- data/lib/assets/javascripts/socmap_adf/modules/gmap/views/overlay.js.coffee +10 -8
- data/lib/assets/javascripts/socmap_adf/modules/gmap/views/overlay_view.js.coffee +3 -1
- data/lib/assets/javascripts/socmap_adf/modules/map/models/map.js.coffee +13 -1
- data/lib/assets/javascripts/socmap_adf/modules/minimap/models/minimap.js.coffee +14 -1
- data/lib/assets/javascripts/socmap_adf/modules/overlay/views/flash_overlay.coffee +49 -0
- data/lib/socmap_adf/version.rb +1 -1
- metadata +9 -2
data/.rvmrc
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
# development environment upon cd'ing into the directory
|
5
5
|
|
6
6
|
# First we specify our desired <ruby>[@<gemset>], the @gemset name is optional.
|
7
|
-
environment_id="ruby-1.9.3
|
7
|
+
environment_id="ruby-1.9.3@rails32"
|
8
8
|
|
9
9
|
#
|
10
10
|
# Uncomment the following lines if you want to verify rvm version per project
|
@@ -3,7 +3,7 @@ class ADF.GMap.Views.Overlay extends google.maps.OverlayView
|
|
3
3
|
hidden: true
|
4
4
|
topPoint: null
|
5
5
|
zindex: 1
|
6
|
-
|
6
|
+
divPixel: null
|
7
7
|
|
8
8
|
constructor: (map, view) ->
|
9
9
|
@map = map
|
@@ -14,7 +14,6 @@ class ADF.GMap.Views.Overlay extends google.maps.OverlayView
|
|
14
14
|
@hoverable = @view.hoverable
|
15
15
|
@showAfterDrag = @view.showAfterDrag
|
16
16
|
@view.overlay = @
|
17
|
-
@body = @view.body if @view.body?
|
18
17
|
@initMarker()
|
19
18
|
@bindMapEvents()
|
20
19
|
|
@@ -164,6 +163,9 @@ class ADF.GMap.Views.Overlay extends google.maps.OverlayView
|
|
164
163
|
getPosition: () ->
|
165
164
|
@view.point
|
166
165
|
|
166
|
+
getDivPixel: () ->
|
167
|
+
@divPixel
|
168
|
+
|
167
169
|
# = From OverlayView
|
168
170
|
onAdd: ->
|
169
171
|
@div = @view.render().el
|
@@ -171,23 +173,23 @@ class ADF.GMap.Views.Overlay extends google.maps.OverlayView
|
|
171
173
|
@pane = @getPanes().overlayLayer
|
172
174
|
@pane.appendChild(@div)
|
173
175
|
else
|
174
|
-
$(@
|
176
|
+
$(@view.getMapElement()).append(@div)
|
175
177
|
@view.onMarkerAdded(@view.point)
|
176
178
|
|
177
179
|
draw: () ->
|
178
180
|
overlayProjection = @getProjection()
|
179
181
|
if (overlayProjection != null && overlayProjection != undefined && @view.point)
|
180
182
|
if @view.asLabel
|
181
|
-
divPixel = overlayProjection.fromLatLngToDivPixel(@view.point)
|
183
|
+
@divPixel = overlayProjection.fromLatLngToDivPixel(@view.point)
|
182
184
|
else
|
183
|
-
divPixel = overlayProjection.fromLatLngToContainerPixel(@view.point)
|
185
|
+
@divPixel = overlayProjection.fromLatLngToContainerPixel(@view.point)
|
184
186
|
|
185
|
-
@left = divPixel.x + @view.left - (@view.getWidth() / 2)
|
187
|
+
@left = @divPixel.x + @view.left - (@view.getWidth() / 2)
|
186
188
|
|
187
189
|
if @view.overlayPositionVertical == "top"
|
188
|
-
@top = divPixel.y + @view.top - @view.getHeight()
|
190
|
+
@top = @divPixel.y + @view.top - @view.getHeight()
|
189
191
|
else
|
190
|
-
@top = divPixel.y + @view.top
|
192
|
+
@top = @divPixel.y + @view.top
|
191
193
|
|
192
194
|
if @top < 0
|
193
195
|
point = new google.maps.Point(@left, (@top / 2) + ($(window).height() / 2))
|
@@ -64,7 +64,6 @@ class ADF.GMap.Views.OverlayView extends ADF.MVC.Views.Base
|
|
64
64
|
redraw: () ->
|
65
65
|
@overlay.draw()
|
66
66
|
|
67
|
-
|
68
67
|
isClustering: () ->
|
69
68
|
@clustering
|
70
69
|
|
@@ -75,6 +74,9 @@ class ADF.GMap.Views.OverlayView extends ADF.MVC.Views.Base
|
|
75
74
|
@overlay = new ADF.GMap.Views.Overlay(@map.getGMap(), @)
|
76
75
|
@map.addOverlay(@overlay)
|
77
76
|
|
77
|
+
getMapElement: () ->
|
78
|
+
@map.getMapElement()
|
79
|
+
|
78
80
|
addOrChangeLocation: (point) ->
|
79
81
|
@point = point
|
80
82
|
if @overlay
|
@@ -5,6 +5,7 @@ class ADF.Map.Models.Map extends Backbone.Model
|
|
5
5
|
|
6
6
|
maxZoomLevelForClustering: 21
|
7
7
|
maxZoomOnClick: 18
|
8
|
+
mapElement: null
|
8
9
|
|
9
10
|
defaults:
|
10
11
|
center: new google.maps.LatLng(57,25)
|
@@ -28,7 +29,8 @@ class ADF.Map.Models.Map extends Backbone.Model
|
|
28
29
|
@clusterOptions = $.extend(@clusterDefaults, clusterOptions)
|
29
30
|
|
30
31
|
initGMap: (mapElement) ->
|
31
|
-
@
|
32
|
+
@mapElement = mapElement
|
33
|
+
@map = new google.maps.Map(document.getElementById(@mapElement), @attributes)
|
32
34
|
@markerClusterer = new ADF.Cluster.Views.MarkerClusterer(@map, null, @clusterOptions)
|
33
35
|
@loadOSM() if @get("mapTypeId") == "OSM"
|
34
36
|
return @map
|
@@ -39,6 +41,9 @@ class ADF.Map.Models.Map extends Backbone.Model
|
|
39
41
|
|
40
42
|
getGMap: () ->
|
41
43
|
return @map
|
44
|
+
|
45
|
+
getMapElement: () ->
|
46
|
+
return $("##{@mapElement}")
|
42
47
|
|
43
48
|
addOverlay: (overlay, clustering = false) ->
|
44
49
|
@overlays.push(overlay)
|
@@ -64,6 +69,13 @@ class ADF.Map.Models.Map extends Backbone.Model
|
|
64
69
|
@overlays = []
|
65
70
|
@markerClusterer.clearMarkers()
|
66
71
|
|
72
|
+
getOverlays: () ->
|
73
|
+
@overlays
|
74
|
+
|
75
|
+
hideAllOverlays: () ->
|
76
|
+
for overlay in @overlays
|
77
|
+
overlay.hide()
|
78
|
+
|
67
79
|
clusterOverlay: (overlay) ->
|
68
80
|
@markerClusterer.addMarker(overlay) if @markerClusterer
|
69
81
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
class ADF.Minimap.Models.Minimap extends Backbone.Model
|
2
2
|
|
3
3
|
overlays: []
|
4
|
+
|
5
|
+
mapElement: null
|
4
6
|
|
5
7
|
defaults:
|
6
8
|
center: new google.maps.LatLng(57,25)
|
@@ -15,15 +17,26 @@ class ADF.Minimap.Models.Minimap extends Backbone.Model
|
|
15
17
|
streetViewControl: false
|
16
18
|
|
17
19
|
initGMap: (mapElement) ->
|
18
|
-
@
|
20
|
+
@mapElement = mapElement
|
21
|
+
@map = new google.maps.Map(document.getElementById(@mapElement), @attributes)
|
19
22
|
return @map
|
20
23
|
|
21
24
|
getGMap: () ->
|
22
25
|
return @map
|
26
|
+
|
27
|
+
getMapElement: () ->
|
28
|
+
return $("##{@mapElement}")
|
23
29
|
|
24
30
|
addOverlay: (overlay) ->
|
25
31
|
@overlays.push(overlay)
|
26
32
|
|
33
|
+
getOverlays: () ->
|
34
|
+
@overlays
|
35
|
+
|
36
|
+
hideAllOverlays: () ->
|
37
|
+
for overlay in @overlays
|
38
|
+
overlay.hide()
|
39
|
+
|
27
40
|
setCenter: (latLng) ->
|
28
41
|
@map.setCenter(latLng)
|
29
42
|
|
@@ -0,0 +1,49 @@
|
|
1
|
+
class ADF.Overlay.Views.FlashOverlay extends ADF.GMap.Views.OverlayView
|
2
|
+
|
3
|
+
opened: false
|
4
|
+
hoverable: true
|
5
|
+
top: -60
|
6
|
+
left: 0
|
7
|
+
|
8
|
+
constructor: (options) ->
|
9
|
+
super(options)
|
10
|
+
@clickable = false
|
11
|
+
@pushOverlay()
|
12
|
+
|
13
|
+
onMarkerMouseOver: () =>
|
14
|
+
@openOverlayOnHover()
|
15
|
+
|
16
|
+
onMarkerMouseOut: () =>
|
17
|
+
@hideOverlayAfterTime()
|
18
|
+
|
19
|
+
openOverlayOnHover: () =>
|
20
|
+
@map.hideAllOverlays()
|
21
|
+
@opened = true
|
22
|
+
@calculatePosition()
|
23
|
+
@show()
|
24
|
+
|
25
|
+
hideOverlayIfNeeded: () =>
|
26
|
+
@hide() if !@opened
|
27
|
+
|
28
|
+
hideOverlayAfterTime: () =>
|
29
|
+
@opened = false
|
30
|
+
setTimeout(@hideOverlayIfNeeded, 1000)
|
31
|
+
|
32
|
+
onRenderCompleted: () =>
|
33
|
+
$(@el).hover(@openOverlayOnHover, @hideOverlayAfterTime)
|
34
|
+
|
35
|
+
calculatePosition: () ->
|
36
|
+
arr = @getPositionArray()
|
37
|
+
@setPosition(arr[0], arr[1])
|
38
|
+
|
39
|
+
getPositionArray: () ->
|
40
|
+
halfWidth = @map.getMapElement().width() / 2
|
41
|
+
halfHeight = @map.getMapElement().height() / 2
|
42
|
+
divPixel = @overlay.getDivPixel()
|
43
|
+
w = @getWidth() / 2
|
44
|
+
h = @getHeight()
|
45
|
+
|
46
|
+
return [h, w] if divPixel.x <= halfWidth && divPixel.y < halfHeight
|
47
|
+
return [h, -w] if divPixel.x > halfWidth && divPixel.y < halfHeight
|
48
|
+
return [@top, w] if divPixel.x <= halfWidth && divPixel.y >= halfHeight
|
49
|
+
return [@top, -w] if divPixel.x > halfWidth && divPixel.y >= halfHeight
|
data/lib/socmap_adf/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: socmap_adf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-10-
|
14
|
+
date: 2012-10-14 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -141,6 +141,7 @@ files:
|
|
141
141
|
- lib/assets/javascripts/socmap_adf/modules/overlay/templates/main.jst.eco
|
142
142
|
- lib/assets/javascripts/socmap_adf/modules/overlay/templates/polygon_label.jst.eco
|
143
143
|
- lib/assets/javascripts/socmap_adf/modules/overlay/views/.DS_Store
|
144
|
+
- lib/assets/javascripts/socmap_adf/modules/overlay/views/flash_overlay.coffee
|
144
145
|
- lib/assets/javascripts/socmap_adf/modules/overlay/views/main.js.coffee
|
145
146
|
- lib/assets/javascripts/socmap_adf/modules/overlay/views/overlay.js.coffee
|
146
147
|
- lib/assets/javascripts/socmap_adf/modules/overlay/views/polygon_label.js.coffee
|
@@ -196,12 +197,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
196
197
|
- - ! '>='
|
197
198
|
- !ruby/object:Gem::Version
|
198
199
|
version: '0'
|
200
|
+
segments:
|
201
|
+
- 0
|
202
|
+
hash: -4555781509594738467
|
199
203
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
200
204
|
none: false
|
201
205
|
requirements:
|
202
206
|
- - ! '>='
|
203
207
|
- !ruby/object:Gem::Version
|
204
208
|
version: '0'
|
209
|
+
segments:
|
210
|
+
- 0
|
211
|
+
hash: -4555781509594738467
|
205
212
|
requirements: []
|
206
213
|
rubyforge_project: socmap_adf
|
207
214
|
rubygems_version: 1.8.24
|