Guest User

Untitled

a guest
Oct 16th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.19 KB | None | 0 0
  1. @push('scripts')
  2. <script>
  3. var image = 'http://maps.google.com/mapfiles/kml/pal3/icon49.png';
  4. var map;
  5. var allMarkers = { };
  6.  
  7. function initMap() {
  8.  
  9. let spain = {lat:40.417953, lng: -3.714312};
  10. map = new google.maps.Map(document.getElementById('map'), {
  11. center: spain,
  12. zoom: 19
  13. });
  14.  
  15. let infoWindow = new google.maps.InfoWindow;
  16. console.log()
  17. let markers = {!! $markers->toJson() !!};
  18.  
  19. // Loading in Markers from the database
  20. $.each(markers, function (key, marker) {
  21. let id = marker.id;
  22. let name = marker.name;
  23. let addres = marker.addres;
  24. let lesson = 0;
  25. if (marker.lesson && marker.lesson.length > 0) {
  26. lesson = marker.lesson[0].id;
  27. }
  28.  
  29. let lat = marker.lat;
  30. let lng = marker.lng;
  31. let type = marker.type;
  32.  
  33. let markerLatlng = new google.maps.LatLng(parseFloat(lat), parseFloat(lng));
  34.  
  35. let mark = new google.maps.Marker({
  36. position: markerLatlng,
  37. map: map,
  38. lesson: lesson
  39. });
  40.  
  41. new google.maps.event.trigger(markers, 'click');
  42. mark.setMap(map);
  43. });
  44.  
  45.  
  46.  
  47. // Trigger marker when moving near to it
  48. new google.maps.event.trigger(markers, 'click');
  49.  
  50.  
  51.  
  52. // Try HTML5 geolocation.
  53. if (navigator.geolocation) {
  54. navigator.geolocation.watchPosition(
  55. function (position) {
  56. var pos = {
  57. lat: position.coords.latitude,
  58. lng: position.coords.longitude
  59. };
  60.  
  61.  
  62.  
  63. if (allMarkers.hasOwnProperty('mylocation')) {
  64. allMarkers['mylocation'].setPosition(pos);
  65. } else {
  66. let mark = new google.maps.Marker({
  67. position: pos,
  68. map: map,
  69. title: 'mylocation',
  70. icon: image,
  71. color: 'blue'
  72.  
  73. });
  74.  
  75. allMarkers['mylocation'] = mark;
  76. }
  77.  
  78. map.setCenter(pos);
  79. }
  80. );
  81. } else {
  82. // Browser doesn't support Geolocation
  83. handleLocationError(false, infoWindow, map.getCenter());
  84. }
  85. }
  86.  
  87. function handleLocationError(browserHasGeolocation, infoWindow, pos) {
  88. infoWindow.setPosition(pos);
  89. infoWindow.setContent(browserHasGeolocation ?
  90. 'Error: The Geolocation service failed.' :
  91. 'Error: Your browser doesn't support geolocation.');
  92. infoWindow.open(map);
  93. }
  94. </script>
  95. <script src="https://maps.googleapis.com/maps/api/js?key={{env('G_MAPS_API')}}&callback=initMap"
  96. async defer></script>
Add Comment
Please, Sign In to add comment