1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <% 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>
|