kml-layer.js.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Source: directives/kml-layer.js</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Source: directives/kml-layer.js</h1>
  17. <section>
  18. <article>
  19. <pre class="prettyprint source linenums"><code>/**
  20. * @ngdoc directive
  21. * @name kml-layer
  22. * @requires Attr2Options
  23. * @description
  24. * renders Kml layer on a map
  25. * Requires: map directive
  26. * Restrict To: Element
  27. *
  28. * @param {Url} url url of the kml layer
  29. * @param {KmlLayerOptions} KmlLayerOptions
  30. * (https://developers.google.com/maps/documentation/javascript/reference#KmlLayerOptions)
  31. * @param {String} &amp;lt;KmlLayerEvent> Any KmlLayer events, https://developers.google.com/maps/documentation/javascript/reference
  32. * @example
  33. * Usage:
  34. * &lt;map MAP_ATTRIBUTES>
  35. * &lt;kml-layer ANY_KML_LAYER ANY_KML_LAYER_EVENTS">&lt;/kml-layer>
  36. * &lt;/map>
  37. *
  38. * Example:
  39. *
  40. * &lt;map zoom="11" center="[41.875696,-87.624207]">
  41. * &lt;kml-layer url="http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml" >&lt;/kml-layer>
  42. * &lt;/map>
  43. */
  44. /*jshint -W089*/
  45. ngMap.directive('kmlLayer', ['Attr2Options', function(Attr2Options) {
  46. var parser = Attr2Options;
  47. var getKmlLayer = function(options, events) {
  48. var kmlLayer = new google.maps.KmlLayer(options);
  49. for (var eventName in events) {
  50. google.maps.event.addListener(kmlLayer, eventName, events[eventName]);
  51. }
  52. return kmlLayer;
  53. };
  54. return {
  55. restrict: 'E',
  56. require: '^map',
  57. link: function(scope, element, attrs, mapController) {
  58. var orgAttrs = parser.orgAttributes(element);
  59. var filtered = parser.filter(attrs);
  60. var options = parser.getOptions(filtered);
  61. var events = parser.getEvents(scope, filtered);
  62. console.log('kml-layer options', kmlLayer, 'events', events);
  63. var kmlLayer = getKmlLayer(options, events);
  64. mapController.addObject('kmlLayers', kmlLayer);
  65. parser.observeAttrSetObj(orgAttrs, attrs, kmlLayer); //observers
  66. }
  67. }; // return
  68. }]);
  69. </code></pre>
  70. </article>
  71. </section>
  72. </div>
  73. <nav>
  74. <h2><a href="index.html">Index</a></h2><h3>service</h3><ul><li><a href="Attr2Options.html">Attr2Options</a></li><li><a href="GeoCoder.html">GeoCoder</a></li><li><a href="NavigatorGeolocation.html">NavigatorGeolocation</a></li><li><a href="StreetView.html">StreetView</a></li></ul><h3>directive</h3><ul><li><a href="bicycling-layer.html">bicycling-layer</a></li><li><a href="cloud-layer.html">cloud-layer</a></li><li><a href="custom-control.html">custom-control</a></li><li><a href="drawing-manager.html">drawing-manager</a></li><li><a href="dynamic-maps-engine-layer.html">dynamic-maps-engine-layer</a></li><li><a href="fusion-tables-layer.html">fusion-tables-layer</a></li><li><a href="heatmap-layer.html">heatmap-layer</a></li><li><a href="info-window.html">info-window</a></li><li><a href="kml-layer.html">kml-layer</a></li><li><a href="lazy-load.html">lazy-load</a></li><li><a href="map.html">map</a></li><li><a href="map-data.html">map-data</a></li><li><a href="map-type.html">map-type</a></li><li><a href="MapController.html">MapController</a></li><li><a href="maps-engine-layer.html">maps-engine-layer</a></li><li><a href="marker.html">marker</a></li><li><a href="overlay-map-type.html">overlay-map-type</a></li><li><a href="shape.html">shape</a></li><li><a href="traffic-layer.html">traffic-layer</a></li><li><a href="transit-layer.html">transit-layer</a></li><li><a href="weather-layer.html">weather-layer</a></li></ul>
  75. </nav>
  76. <br clear="both">
  77. <footer>
  78. Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
  79. and <a href="https://github.com/allenhwkim/angular-jsdoc">angular-jsdoc</a>
  80. </footer>
  81. <script> prettyPrint(); </script>
  82. <script src="scripts/linenumber.js"> </script>
  83. <script>
  84. var href=window.location.href.match(/\/([^\/]+$)/)[1];
  85. document.querySelector("nav a[href='"+href+"']").scrollIntoView(true);
  86. if (window.location.hash == "")
  87. document.querySelector("body").scrollIntoView(true);
  88. </script>
  89. </body>
  90. </html>