Skip to content

Commit

Permalink
Merge pull request #41 from larissa/sniffer
Browse files Browse the repository at this point in the history
Plugin Sniffer: Map Asynchronous Loading
  • Loading branch information
brauliobo committed Apr 17, 2015
2 parents ff035d2 + 628d66b commit 82ea7f4
Showing 1 changed file with 37 additions and 21 deletions.
58 changes: 37 additions & 21 deletions plugins/sniffer/views/sniffer_plugin_myprofile/search.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -24,33 +24,49 @@
</div>
</div>

<%= content_tag 'script', '', :src => "http://maps.googleapis.com/maps/api/js?sensor=false", :type => 'text/javascript' %>
<%= javascript_include_tag 'google_maps' %>
<%= content_tag 'script', '', :src => "/plugins/sniffer/javascripts/infobox.js", :type => 'text/javascript' %>
<%= content_tag 'script', '', :src => "/plugins/sniffer/javascripts/custom_marker.js", :type => 'text/javascript' %>
<%= javascript_include_tag "/plugins/sniffer/javascripts/underscore-min.js" %>
<%= javascript_include_tag "/plugins/sniffer/javascripts/sniffer.js" %>

<script id="marker-template" type="text/html">
<div class="marker-wrap">
<img src="<@= icon @>" alt="<@= title @>"/>
</div>
</script>

<script type='text/javascript'>
function loadScript(url, callback) {
var script = document.createElement('script');
if (callback) {
// FF fires onload and IE fires onreadystatechange
script.onload = callback;
script.onreadystatechange = callback;
}
script.type = 'text/javascript';
script.src = url;
document.body.appendChild(script);
};

function mapApiReady() {
loadScript('/plugins/sniffer/javascripts/infobox.js');
loadScript('/plugins/sniffer/javascripts/custom_marker.js', loadSnifferMap);
};

var currentProfile = <%= profile_hash(profile).to_json %>;
sniffer.search.map.load({
"zoom": <%= GoogleMaps.initial_zoom.to_json %>,
"balloonUrl": <%= url_for(:controller => :sniffer_plugin_myprofile, :action => :map_balloon, :id => "_id_", :escape => false).to_json %>,
"myBalloonUrl": <%= url_for(:controller => :sniffer_plugin_myprofile, :action => :my_map_balloon, :escape => false).to_json %>,
"profiles": <%=
@profiles_data.map do |id, profile_data|
data = profile_hash(profile_data[:profile])
data[:consumersProducts] = profile_data[:consumers_products]
data[:suppliersProducts] = profile_data[:suppliers_products]
data[:icon] = profile_data[:profile][:icon]
data
end.to_json
%>
});

function loadSnifferMap() {
sniffer.search.map.load({
"zoom": <%= GoogleMaps.initial_zoom.to_json %>,
"balloonUrl": <%= url_for(:controller => :sniffer_plugin_myprofile, :action => :map_balloon, :id => "_id_", :escape => false).to_json %>,
"myBalloonUrl": <%= url_for(:controller => :sniffer_plugin_myprofile, :action => :my_map_balloon, :escape => false).to_json %>,
"profiles": <%=
@profiles_data.map do |id, profile_data|
data = profile_hash(profile_data[:profile])
data[:consumersProducts] = profile_data[:consumers_products]
data[:suppliersProducts] = profile_data[:suppliers_products]
data[:icon] = profile_data[:profile][:icon]
data
end.to_json
%>
});
};
</script>

<%= javascript_include_tag "//maps.googleapis.com/maps/api/js?sensor=false&callback=mapApiReady" %>
<%= javascript_include_tag 'google_maps' %>

0 comments on commit 82ea7f4

Please sign in to comment.