UNPKG

leaflet

Version:

JavaScript library for mobile-friendly interactive maps

53 lines (45 loc) 1.76 kB
/* * @miniclass Icon.Default (Icon) * @aka L.Icon.Default * @section * * A trivial subclass of `Icon`, represents the icon to use in `Marker`s when * no icon is specified. Points to the blue marker image distributed with Leaflet * releases. * * In order to customize the default icon, just change the properties of `L.Icon.Default.prototype.options` * (which is a set of `Icon options`). * * If you want to _completely_ replace the default icon, override the * `L.Marker.prototype.options.icon` with your own icon instead. */ L.Icon.Default = L.Icon.extend({ options: { iconUrl: 'marker-icon.png', iconRetinaUrl: 'marker-icon-2x.png', shadowUrl: 'marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], tooltipAnchor: [16, -28], shadowSize: [41, 41] }, _getIconUrl: function (name) { if (!L.Icon.Default.imagePath) { // Deprecated, backwards-compatibility only L.Icon.Default.imagePath = this._detectIconPath(); } // @option imagePath: String // `L.Icon.Default` will try to auto-detect the absolute location of the // blue icon images. If you are placing these images in a non-standard // way, set this option to point to the right absolute path. return (this.options.imagePath || L.Icon.Default.imagePath) + L.Icon.prototype._getIconUrl.call(this, name); }, _detectIconPath: function () { var el = L.DomUtil.create('div', 'leaflet-default-icon-path', document.body); var path = L.DomUtil.getStyle(el, 'background-image') || L.DomUtil.getStyle(el, 'backgroundImage'); // IE8 document.body.removeChild(el); return path.indexOf('url') === 0 ? path.replace(/^url\([\"\']?/, '').replace(/marker-icon\.png[\"\']?\)$/, '') : ''; } });