gmaps-demo.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. $(document).ready(function() {
  2. map1 = new GMaps({
  3. div: '#map-basic',
  4. lat: -12.043333,
  5. lng: -77.028333
  6. });
  7. map2 = new GMaps({
  8. div: '#map-marker',
  9. lat: -12.043333,
  10. lng: -77.028333
  11. });
  12. map2.addMarker({
  13. lat: -12.043333,
  14. lng: -77.03,
  15. title: 'Lima',
  16. details: {
  17. database_id: 42,
  18. author: 'HPNeo'
  19. },
  20. click: function(e) {
  21. if (console.log)
  22. console.log(e);
  23. alert('You clicked in this marker');
  24. }
  25. });
  26. map2.addMarker({
  27. lat: -12.042,
  28. lng: -77.028333,
  29. title: 'Marker with InfoWindow',
  30. infoWindow: {
  31. content: '<p>HTML Content</p>'
  32. }
  33. });
  34. map3 = new GMaps({
  35. div: '#map-polygon',
  36. lat: -12.043333,
  37. lng: -77.028333
  38. });
  39. var path = [
  40. [-12.040397656836609, -77.03373871559225],
  41. [-12.040248585302038, -77.03993927003302],
  42. [-12.050047116528843, -77.02448169303511],
  43. [-12.044804866577001, -77.02154422636042]
  44. ];
  45. polygon = map3.drawPolygon({
  46. paths: path,
  47. strokeColor: '#BBD8E9',
  48. strokeOpacity: 1,
  49. strokeWeight: 3,
  50. fillColor: '#BBD8E9',
  51. fillOpacity: 0.6
  52. });
  53. });
  54. var map;
  55. // Update position
  56. $(document).on('submit', '.edit_marker', function(e) {
  57. e.preventDefault();
  58. var $index = $(this).data('marker-index');
  59. $lat = $('#marker_' + $index + '_lat').val();
  60. $lng = $('#marker_' + $index + '_lng').val();
  61. var template = $('#edit_marker_template').text();
  62. // Update form values
  63. var content = template.replace(/{{index}}/g, $index).replace(/{{lat}}/g, $lat).replace(/{{lng}}/g, $lng);
  64. map.markers[$index].setPosition(new google.maps.LatLng($lat, $lng));
  65. map.markers[$index].infoWindow.setContent(content);
  66. $marker = $('#markers-with-coordinates').find('li').eq(0).find('a');
  67. $marker.data('marker-lat', $lat);
  68. $marker.data('marker-lng', $lng);
  69. });
  70. // Update center
  71. $(document).on('click', '.pan-to-marker', function(e) {
  72. e.preventDefault();
  73. var lat, lng;
  74. var $index = $(this).data('marker-index');
  75. var $lat = $(this).data('marker-lat');
  76. var $lng = $(this).data('marker-lng');
  77. if ($index != undefined) {
  78. // using indices
  79. var position = map.markers[$index].getPosition();
  80. lat = position.lat();
  81. lng = position.lng();
  82. } else {
  83. // using coordinates
  84. lat = $lat;
  85. lng = $lng;
  86. }
  87. map.setCenter(lat, lng);
  88. });
  89. $(document).ready(function() {
  90. map = new GMaps({
  91. div: '#map-interaction',
  92. lat: -12.043333,
  93. lng: -77.028333
  94. });
  95. GMaps.on('marker_added', map, function(marker) {
  96. $('#markers-with-index').append('<li><a href="#" class="pan-to-marker" data-marker-index="' + map.markers.indexOf(marker) + '">' + marker.title + '</a></li>');
  97. $('#markers-with-coordinates').append('<li><a href="#" class="pan-to-marker" data-marker-lat="' + marker.getPosition().lat() + '" data-marker-lng="' + marker.getPosition().lng() + '">' + marker.title + '</a></li>');
  98. });
  99. GMaps.on('click', map.map, function(event) {
  100. var index = map.markers.length;
  101. var lat = event.latLng.lat();
  102. var lng = event.latLng.lng();
  103. var template = $('#edit_marker_template').text();
  104. var content = template.replace(/{{index}}/g, index).replace(/{{lat}}/g, lat).replace(/{{lng}}/g, lng);
  105. map.addMarker({
  106. lat: lat,
  107. lng: lng,
  108. title: 'Marker #' + index,
  109. infoWindow: {
  110. content: content
  111. }
  112. });
  113. });
  114. });
  115. var panorama;
  116. $(document).ready(function() {
  117. panorama = GMaps.createPanorama({
  118. el: '#map-street',
  119. lat: 42.3455,
  120. lng: -71.0983
  121. });
  122. });