Advertisement
rased

Map shortcode

Apr 25th, 2017
777
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. <?php
  2. function stock_styled_map_shortcode($atts, $content = null) {
  3.  
  4. extract( shortcode_atts( array(
  5. 'lat' => '40.7433379',
  6. 'lng' => '-74.0103219',
  7. 'title' => 'Head Office',
  8. 'desc' => 'House 21, Grand St.<br/> New York, USA',
  9. 'height' => '500',
  10. ), $atts) );
  11.  
  12. $dynamic_map_id = rand(42587942, 382947283);
  13.  
  14. $stock_styled_map_markup = '
  15. <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD7CQl6fRhagGok6CzFGOOPne2X1u1spoA&region=US"></script>
  16. <div style="width:100%;height:'.$height.'px" id="stock-map-'.$dynamic_map_id.'"></div>
  17. <script>
  18. jQuery(document).ready(function($) {
  19. var stockmap'.$dynamic_map_id.' = {lat: '.$lat.', lng: '.$lng.'};
  20. $("#stock-map-'.$dynamic_map_id.'")
  21. .gmap3({
  22. center: stockmap'.$dynamic_map_id.',
  23. zoom:15,
  24. scrollwheel: false,
  25. mapTypeId: "shadeOfGrey",
  26. })
  27. .marker({
  28. position: stockmap'.$dynamic_map_id.',
  29. icon: "'.plugin_dir_url( __FILE__ ).'../assets/img/marker.png"
  30. })
  31. .infowindow({
  32. position: stockmap'.$dynamic_map_id.',
  33. content: "<h4>'.$title.'</h4>'.$desc.'",
  34. pixelOffset: new google.maps.Size(0,-20)
  35. })
  36. .then(function (infowindow) {
  37. infowindow.open(this.get(0)); // this.get(0) return the map (see "get" feature)
  38. })
  39. .styledmaptype(
  40. "shadeOfGrey",
  41. [
  42. {"featureType":"all","elementType":"labels.text.fill","stylers":[{"saturation":36},{"color":"#909090"},{"lightness":40}]},
  43. {"featureType":"all","elementType":"labels.icon","stylers":[{"visibility":"off"}]},
  44. {"featureType":"administrative","elementType":"geometry.fill","stylers":[{"color":"#f7f7f7"},{"lightness":20}]},
  45. {"featureType":"administrative","elementType":"geometry.stroke","stylers":[{"color":"#f7f7f7"},{"lightness":17},{"weight":1.2}]},
  46. {"featureType":"landscape","elementType":"geometry","stylers":[{"color":"#f7f7f7"},{"lightness":20}]},
  47. {"featureType":"poi","elementType":"geometry","stylers":[{"color":"#f7f7f7"},{"lightness":21}]},
  48. {"featureType":"road.highway","elementType":"geometry.fill","stylers":[{"color":"#ffffff"},{"lightness":17}]},
  49. {"featureType":"road.highway","elementType":"geometry.stroke","stylers":[{"color":"#ffffff"},{"lightness":29},{"weight":0.2}]},
  50. {"featureType":"road.arterial","elementType":"geometry","stylers":[{"color":"#ffffff"},{"lightness":18}]},
  51. {"featureType":"road.local","elementType":"geometry","stylers":[{"color":"#ffffff"},{"lightness":16}]},
  52. {"featureType":"transit","elementType":"geometry","stylers":[{"color":"#ffffff"},{"lightness":19}]},
  53. {"featureType":"water","elementType":"geometry","stylers":[{"color":"#ededed"},{"lightness":17}]}
  54. ],
  55. {name: "Shades of Grey"}
  56. );
  57. });
  58. </script>
  59. ';
  60.  
  61. return $stock_styled_map_markup;
  62.  
  63. }
  64. add_shortcode('stock_styled_map', 'stock_styled_map_shortcode');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement