_show.html.erb 2.1KB

    <% content_for :head do -%> <%= javascript_include_tag "https://maps.googleapis.com/maps/api/js?sensor=false" %> <%= javascript_include_tag "map_marker" %> <% end -%> <h3>Recent Event Map</h3> <% events = @agent.events.with_location.order("id desc").limit(500) %> <% if events.length > 0 %> <div id="map_canvas" style="width:800px; height:800px"></div> <script type="text/javascript"> var mapOptions = { center: new google.maps.LatLng(<%= events.first.lat %>, <%= events.first.lng %>), zoom: 15, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); var circles = []; var points = []; <% events.each do |event| %> var loc = <%= Utils.jsonify(event.location) %>; if (loc.radius > 1) { circles.push(map_marker(map, loc)); } delete loc.radius; points.push(map_marker(map, loc)); <% end %> function toggleAccuracy(group, map) { for (var i = 0; i < group.length; i++) { group[i].setMap(map); } } toggleAccuracy(circles, null); $(document).ready(function() { $("input#toggle").on("click", function() { if($(this).is(":checked")){ toggleAccuracy(circles, map); toggleAccuracy(points, null); } else { toggleAccuracy(circles, null); toggleAccuracy(points, map); } }); if(circles.length > 0){ $(".toggle-accuracy").removeClass("hidden"); } }); </script> <% else %> <p> No events found. </p> <% end %> <div class="hidden toggle-accuracy checkbox"> <label> <input id="toggle" type="checkbox" value=""> Show accuracy of locations </label> </div> <h3>POST URL</h3> <p> Location data containing <code>latitude</code> and <code>longitude</code> can be posted to this URL:<br/> <ul> <li><code class="selectable-text"><%= web_requests_url(user_id: @agent.user_id, agent_id: @agent.id, secret: @agent.options['secret']) %></code></li> </ul> </p> <p>The data can also include <code>radius</code>, <code>speed</code>, and <code>course</code> values.</p>