mirror of
https://github.com/Leaflet/Leaflet.git
synced 2025-08-15 22:36:58 +00:00
refactor icon and default marker image paths, wrap library in a function
This commit is contained in:
@ -51,11 +51,11 @@ exports.uglify = function (code) {
|
||||
};
|
||||
|
||||
exports.combineFiles = function (files) {
|
||||
var content = '';
|
||||
var content = '(function () {\n\n';
|
||||
for (var i = 0, len = files.length; i < len; i++) {
|
||||
content += fs.readFileSync(files[i], 'utf8') + '\r\n\r\n';
|
||||
}
|
||||
return content;
|
||||
return content + '\n\n}());';
|
||||
};
|
||||
|
||||
exports.save = function (savePath, compressed) {
|
||||
|
@ -107,8 +107,9 @@
|
||||
|
||||
var path = getSrcUrl();
|
||||
for (var i = 0; i < scripts.length; i++) {
|
||||
document.writeln("<script type='text/javascript' src='" + path + "../src/" + scripts[i] + "'></script>");
|
||||
document.writeln("<script src='" + path + scripts[i] + "'></script>");
|
||||
}
|
||||
document.writeln('<script>L.Icon.Default.imagePath = "' + path + '../dist/images";</script>');
|
||||
})();
|
||||
|
||||
function getRandomLatLng(map) {
|
||||
|
@ -1,34 +1,18 @@
|
||||
var L, originalL;
|
||||
|
||||
(function (root) {
|
||||
root.L = {
|
||||
VERSION: '0.4',
|
||||
if (typeof exports !== 'undefined') {
|
||||
L = exports;
|
||||
} else {
|
||||
L = {};
|
||||
|
||||
originalL = window.L;
|
||||
|
||||
ROOT_URL: root.L_ROOT_URL || (function () {
|
||||
var scripts = document.getElementsByTagName('script'),
|
||||
leafletRe = /\/?leaflet[\-\._]?([\w\-\._]*)\.js\??/;
|
||||
|
||||
var i, len, src, matches;
|
||||
|
||||
for (i = 0, len = scripts.length; i < len; i++) {
|
||||
src = scripts[i].src;
|
||||
matches = src.match(leafletRe);
|
||||
|
||||
if (matches) {
|
||||
if (matches[1] === 'include') {
|
||||
return '../../dist/';
|
||||
}
|
||||
return src.split(leafletRe)[0] + '/';
|
||||
}
|
||||
}
|
||||
|
||||
return '';
|
||||
}()),
|
||||
|
||||
noConflict: function () {
|
||||
root.L = this._originalL;
|
||||
return this;
|
||||
},
|
||||
|
||||
_originalL: root.L
|
||||
L.noConflict = function () {
|
||||
window.L = originalL;
|
||||
return L;
|
||||
};
|
||||
}(this));
|
||||
|
||||
window.L = L;
|
||||
}
|
||||
|
||||
L.version = '0.4';
|
||||
|
@ -20,12 +20,17 @@ L.Icon = L.Class.extend({
|
||||
},
|
||||
|
||||
createShadow: function () {
|
||||
return this.options.shadowUrl ? this._createIcon('shadow') : null;
|
||||
return this._createIcon('shadow');
|
||||
},
|
||||
|
||||
_createIcon: function (name) {
|
||||
var img = this._createImg(this.options[name + 'Url']);
|
||||
var src = this._getIconUrl(name);
|
||||
|
||||
if (!src) { return null; }
|
||||
|
||||
var img = this._createImg(src);
|
||||
this._setIconStyles(img, name);
|
||||
|
||||
return img;
|
||||
},
|
||||
|
||||
@ -57,6 +62,7 @@ L.Icon = L.Class.extend({
|
||||
|
||||
_createImg: function (src) {
|
||||
var el;
|
||||
|
||||
if (!L.Browser.ie6) {
|
||||
el = document.createElement('img');
|
||||
el.src = src;
|
||||
@ -65,17 +71,47 @@ L.Icon = L.Class.extend({
|
||||
el.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + src + '")';
|
||||
}
|
||||
return el;
|
||||
},
|
||||
|
||||
_getIconUrl: function (name) {
|
||||
return this.options[name + 'Url'];
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// TODO move to a separate file
|
||||
|
||||
L.Icon.Default = L.Icon.extend({
|
||||
options: {
|
||||
iconUrl: L.ROOT_URL + 'images/marker.png',
|
||||
iconSize: new L.Point(25, 41),
|
||||
iconAnchor: new L.Point(13, 41),
|
||||
popupAnchor: new L.Point(0, -33),
|
||||
|
||||
shadowUrl: L.ROOT_URL + 'images/marker-shadow.png',
|
||||
shadowSize: new L.Point(41, 41)
|
||||
},
|
||||
|
||||
_getIconUrl: function (name) {
|
||||
var path = L.Icon.Default.imagePath;
|
||||
if (!path) {
|
||||
throw new Error("Couldn't autodetect L.Icon.Default.imagePath, set it manually.");
|
||||
}
|
||||
|
||||
return path + '/marker-' + name + '.png';
|
||||
}
|
||||
});
|
||||
|
||||
L.Icon.Default.imagePath = (function () {
|
||||
var scripts = document.getElementsByTagName('script'),
|
||||
leafletRe = /\/?leaflet[\-\._]?([\w\-\._]*)\.js\??/;
|
||||
|
||||
var i, len, src, matches;
|
||||
|
||||
for (i = 0, len = scripts.length; i < len; i++) {
|
||||
src = scripts[i].src;
|
||||
matches = src.match(leafletRe);
|
||||
|
||||
if (matches) {
|
||||
return src.split(leafletRe)[0] + '/images';
|
||||
}
|
||||
}
|
||||
}());
|
Reference in New Issue
Block a user