Factory L.latLng to accept altitude as third parameter or an object's 'alt' property

This commit is contained in:
Sergey Kruk 2014-12-01 16:02:43 +03:00
parent 1ec89d2fdc
commit c5ebd534b2
2 changed files with 12 additions and 3 deletions

View File

@ -103,6 +103,15 @@ describe('LatLng', function () {
it('returns null if lng not specified', function () { it('returns null if lng not specified', function () {
expect(L.latLng(50)).to.be(null); expect(L.latLng(50)).to.be(null);
}); });
it('accepts altitude as third parameter', function () {
expect(L.latLng(50, 30, 100)).to.eql(new L.LatLng(50, 30, 100));
});
it('accepts an object with alt', function () {
expect(L.latLng({lat: 50, lng: 30, alt:100})).to.eql(new L.LatLng(50, 30, 100));
expect(L.latLng({lat: 50, lon: 30, alt:100})).to.eql(new L.LatLng(50, 30, 100));
});
}); });
}); });

View File

@ -56,7 +56,7 @@ L.LatLng.prototype = {
// constructs LatLng with different signatures // constructs LatLng with different signatures
// (LatLng) or ([Number, Number]) or (Number, Number) or (Object) // (LatLng) or ([Number, Number]) or (Number, Number) or (Object)
L.latLng = function (a, b) { L.latLng = function (a, b, c) {
if (a instanceof L.LatLng) { if (a instanceof L.LatLng) {
return a; return a;
} }
@ -70,11 +70,11 @@ L.latLng = function (a, b) {
return a; return a;
} }
if (typeof a === 'object' && 'lat' in a) { if (typeof a === 'object' && 'lat' in a) {
return new L.LatLng(a.lat, 'lng' in a ? a.lng : a.lon); return new L.LatLng(a.lat, 'lng' in a ? a.lng : a.lon, a.alt);
} }
if (b === undefined) { if (b === undefined) {
return null; return null;
} }
return new L.LatLng(a, b); return new L.LatLng(a, b, c);
}; };