/src/layer/marker/Icon.Default.js

https://github.com/AViscatanius/Leaflet · JavaScript · 45 lines · 31 code · 11 blank · 3 comment · 5 complexity · 08104e498aa4c07240842537762c5e38 MD5 · raw file

  1. /*
  2. * L.Icon.Default is the blue marker icon used by default in Leaflet.
  3. */
  4. L.Icon.Default = L.Icon.extend({
  5. options: {
  6. iconSize: [25, 41],
  7. iconAnchor: [12, 41],
  8. popupAnchor: [1, -34],
  9. shadowSize: [41, 41]
  10. },
  11. _getIconUrl: function (name) {
  12. var key = name + 'Url';
  13. if (this.options[key]) {
  14. return this.options[key];
  15. }
  16. var path = L.Icon.Default.imagePath;
  17. if (!path) {
  18. throw new Error('Couldn\'t autodetect L.Icon.Default.imagePath, set it manually.');
  19. }
  20. return path + '/marker-' + name + (L.Browser.retina && name === 'icon' ? '-2x' : '') + '.png';
  21. }
  22. });
  23. L.Icon.Default.imagePath = (function () {
  24. var scripts = document.getElementsByTagName('script'),
  25. leafletRe = /[\/^]leaflet[\-\._]?([\w\-\._]*)\.js\??/;
  26. var i, len, src, path;
  27. for (i = 0, len = scripts.length; i < len; i++) {
  28. src = scripts[i].src;
  29. if (src.match(leafletRe)) {
  30. path = src.split(leafletRe)[0];
  31. return (path ? path + '/' : '') + 'images';
  32. }
  33. }
  34. }());