lib/leaflet.js
function (latlngs, result, projectedBounds) {
		var flat = latlngs[0] instanceof L.LatLng,
		    len = latlngs.length,
		    i, ring;

		if (flat) {
			ring = [];
			for (i = 0; i < len; i++) {
				ring[i] = this._map.latLngToLayerPoint(latlngs[i]);
				projectedBounds.extend(ring[i]);
			}
			result.push(ring);
		} else {
			for (i = 0; i < len; i++) {
				this._projectLatlngs(latlngs[i], result, projectedBounds);
			}
		}
	}
function (latlngs, result, projectedBounds) {
		var flat = latlngs[0] instanceof L.LatLng,
		    len = latlngs.length,
		    i, ring;

		if (flat) {
			ring = [];
			for (i = 0; i < len; i++) {
				ring[i] = this._map.latLngToLayerPoint(latlngs[i]);
				projectedBounds.extend(ring[i]);
			}
			result.push(ring);
		} else {
			for (i = 0; i < len; i++) {
				this._projectLatlngs(latlngs[i], result, projectedBounds);
			}
		}
	}
function ( latlngs , result , projectedBounds ) { var flat = latlngs [ 0 ] instanceof L . LatLng , len = latlngs . length , i , ring ; if ( flat ) { ring = [ ] ; for ( i = 0 ; i < len ; i ++ ) { ring [ i ] = this . _map . latLngToLayerPoint ( latlngs [ i ] ) ; projectedBounds . extend ( ring [ i ] ) ; } result . push ( ring ) ; } else { for ( i = 0 ; i < len ; i ++ ) { this . _projectLatlngs ( latlngs [ i ] , result , projectedBounds ) ; } } }
recursively turns latlngs into a set of rings with projected coordinates
recursively turns latlngs into a set of rings with projected coordinates