×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: PHP
Posted by: Eric De Kock
Added: Mar 2, 2017 1:08 AM
Views: 21
Tags: no tags
  1. <?php if (is_page_template('page-contact.php')) : ?>
  2.             <!-- Contact Page Map -->
  3.             <script src="//maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
  4.             <script type="text/javascript">
  5.                 (function ($) {
  6.                     function render_map($el) {
  7.                         var $markers = $el.find('.marker');
  8.                         var args = {
  9.                             zoom: 16,
  10.                             center: new google.maps.LatLng(0, 0),
  11.                             mapTypeId: google.maps.MapTypeId.ROADMAP
  12.                         };
  13.                         var map = new google.maps.Map($el[0], args);
  14.                         map.markers = [];
  15.                         $markers.each(function () {
  16.                             add_marker($(this), map);
  17.                         });
  18.                         center_map(map);
  19.                     }
  20.                     function add_marker($marker, map) {
  21.                         var latlng = new google.maps.LatLng($marker.attr('data-lat'), $marker.attr('data-lng'));
  22.                         var marker = new google.maps.Marker({
  23.                             position: latlng,
  24.                             map: map
  25.                         });
  26.                         map.markers.push(marker);
  27.                         if ($marker.html())
  28.                         {
  29.                             var infowindow = new google.maps.InfoWindow({
  30.                                 content: $marker.html()
  31.                             });
  32.                             google.maps.event.addListener(marker, 'click', function () {
  33.                                 infowindow.open(map, marker);
  34.                             });
  35.                         }
  36.                     }
  37.                     function center_map(map) {
  38.                         var bounds = new google.maps.LatLngBounds();
  39.                         $.each(map.markers, function (i, marker) {
  40.                             var latlng = new google.maps.LatLng(marker.position.lat(), marker.position.lng());
  41.                             bounds.extend(latlng);
  42.                         });
  43.                         if (map.markers.length == 1)
  44.                         {
  45.                             map.setCenter(bounds.getCenter());
  46.                             map.setZoom(16);
  47.                         } else
  48.                         {
  49.                             map.fitBounds(bounds);
  50.                         }
  51.                     }
  52.                     $(document).ready(function () {
  53.                         $('#map').each(function () {
  54.                             render_map($(this));
  55.                         });
  56.                     });
  57.                 })(jQuery);
  58.             </script>
  59.         <?php endif; ?>